LHM*_*ies 7 mod-rewrite apache2 url-rewriting
我有一组重写规则(在.htaccess中),如下所示:
RewriteRule ^list/vendor/(.*)$ list.php?vendor=$1
RewriteRule ^list/product/(.*)$ list.php?product=$1
RewriteRule ^list/(.*)$ list.php?search=$1
Run Code Online (Sandbox Code Playgroud)
(我不认为前两个与我的问题有关).
当我输入myserver.com/list/foo%2Cbar或甚至myserver.com/list/foo/bar,我得到我期望的结果:list.php被调用with foo,bar和foo/barin $_GET['search'].
但如果我输入myserver.com/list/foo%2Fbar,似乎规则不匹配!我得到了404错误.这可以发生什么?Apache 2.2.14,如果重要的话.
(我在Firefox和Chrome中尝试过相同的结果 - 但当然可能是浏览器正在运行).
LHM*_*ies 15
呸,我发现它... Apache选项AllowEncodedSlashes,不能为每个目录或.htaccess设置,默认为Off.
如果我无法让托管人员在我的虚拟服务器中打开它,那么构建一个解决方法的时间.