修改apache的rewrite规则,测试时竟然绕住了。

本文分享了在Apache中配置rewrite规则的经验,当访问非指定域名时返回400错误。作者详细记录了配置过程中的问题排查及最终解决方案,特别强调了telnet测试时未发送header导致的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

修改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测试都通过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值