我有一个mod-rewrite规则可以正常工作几个月:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
(位于网站/文件夹中)。
这会将人们从网站/文件夹/东西重定向到site / folder / index.php?q =某些东西,让网址很漂亮。
现在,突然间,当没有人触及.htaccess文件或相关页面的代码时,它已停止工作。虽然网址与以前保持一致,但网页的内容是site / index.php而不是(site / folder / index.php?q = something)。
如何调试此问题,哪些工具可以让我遵循重定向规则的流程?
答案 0 :(得分:1)
在服务器或vhost配置中,您可以添加以下行:
RewriteLog /tmp/rewrite.log
RewriteLogLevel 5
然后,您可以查看写入/tmp/rewrite.log
(或您选择的任何位置)的输出,以查看mod_rewrite实时执行的操作。如果您没有看到任何输出,那么您所拥有的规则根本没有应用(可能是覆盖已更改或mod_rewrite未加载?)。