Php htaccess mod_重写&;apache2不重写正斜杠
在我的.htaccess文件中,我使用的mod_重写在一些Apache2服务器上工作,但在其他服务器上不工作。例如,此重写适用于所有Apache2服务器:Php htaccess mod_重写&;apache2不重写正斜杠,php,regex,.htaccess,mod-rewrite,apache2,Php,Regex,.htaccess,Mod Rewrite,Apache2,在我的.htaccess文件中,我使用的mod_重写在一些Apache2服务器上工作,但在其他服务器上不工作。例如,此重写适用于所有Apache2服务器: RewriteRule ^index-stormwatch.html$ index.php?action=stormwatch 但是当我在mod_重写中用正斜杠替换连字符时,如下所示 RewriteRule ^index/stormwatch.html$ index.php?action=stormwatch …一些Apache 2服
RewriteRule ^index-stormwatch.html$ index.php?action=stormwatch
但是当我在mod_重写中用正斜杠替换连字符时,如下所示
RewriteRule ^index/stormwatch.html$ index.php?action=stormwatch
…一些Apache 2服务器会给我一个404错误(但不是全部)。我的mod_rewrite是否写得不正确,或者我是否需要编辑httpd.conf文件(或其他文件),以便apache接受正斜杠“/?所有提到的服务器都是Apache2/php5。您喜欢这样吗:
RewriteRule ^index/stormwatch\.html$ /index.php?action=stormwatch [NC,L,QSA]
这应该会解决URI
/index/stormwatch.html
谢谢anubhava的帮助和代码。不幸的是,我使用的一台Apache2服务器(可能是其他服务器)仍然不喜欢正斜杠“/”,即使在使用改进的代码时也是如此。它很乐意重写连字符“-”,但不重写正斜杠“/”。我认为Apache配置文件中的某些内容可能导致了问题。再次感谢您的帮助。非常感谢。非常欢迎。请在ApacheConfig中启用RewriteLog,然后查看它在这种情况下的结果。我启用了RewriteLog几分钟。创建了一个带有违规url的日志,并注意到4个不同的“操作”:1.添加路径信息后缀2.每个目录前缀带3.应用模式4.传递。这是我第一次尝试创建和读取日志文件。可能需要一些时间,直到我完全理解每个动作。strip per dir前缀听起来像是不应该发生的事情。无论如何,谢谢你anubhava教我重写日志文件。我会继续学习,直到我对重写日志有了很好的理解。非常欢迎。我想提出一种提高对重写日志理解的方法。为一个工作规则生成日志,并将其与非工作规则进行比较。这听起来是非常好的建议。谢谢你教我。