%85%AE使Apache的Rewriter失效???
我在.htaccess文件里面添加了如下内容:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
然后当我输入http://127.0.0.5/Style/main/本兮 (http://127.0.0.5/Style/main/%... )进行访问时,出现了apache自带的404页面,但把后面的“本兮”换成其他汉字时访问是正常的!!!
经过我的排查,发现只要访问所用的汉字的url编码中含有“%85%AE”就会导致404!!!
我还发现了另外一个神奇的BUG:当访问http://127.0.0.5/兮 (http://127.0.0.5/%E5%85%AE )时,服务器报404 Object not found,,,
但是当访问
http://127.0.0.5/%85%AE
http://127.0.0.5/%85
http://127.0.0.5/%AE
服务器会报403 Access forbidden
这是怎么回事???
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
RewriteRule ^(.*)$ index.php/$1 [QSA,NU,PT,L]
在伪静态规则后面加上 [QSA,NU,PT,L] 配置完成