%85%AE使Apache的Rewriter失效???

发布于 2022-09-06 12:19:48 字数 1023 浏览 21 评论 0

我在.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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

白色秋天 2022-09-13 12:19:48

RewriteRule ^(.*)$ index.php/$1 [QSA,NU,PT,L]

在伪静态规则后面加上 [QSA,NU,PT,L] 配置完成

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文