修改apache的rewrite规则,根据条件访问域名不是配置的域名就响应400错误。结果配置好后测试死活不成功。
检查 LoadModule rewrite_module libexec/apache2/mod_rewrite.so成功
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www.xxx.com|www.yyy.com) [NC]
RewriteCond %{HTTP_HOST} !^[\d\.]+
RewriteRule ^/(.*)$ -[F,L]
</IfModule>
没有问题啊,telnet www.xxx.com 80测试死活不成功,后来突然用浏览器访问效率竟然就是对的。才发现telnet上去直接GET /,没有发送任何header,结果当然取不到%{HTTP_HOST} 。用浏览器,curl,wget测试都通过。
本文分享了在Apache中配置rewrite规则的经验,当访问非指定域名时返回400错误。作者详细记录了配置过程中的问题排查及最终解决方案,特别强调了telnet测试时未发送header导致的问题。
164

被折叠的 条评论
为什么被折叠?



