0

我有一个 mod-rewrite 规则,它可以正常工作几个月:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

(位于站点/文件夹中)。

这会将人们从 site/folder/something 重定向到 site/folder/index.php?q=something,从而使 url 美观。

现在,突然,当没有人接触 .htaccess 文件和相关页面的代码时,它已经停止工作了。虽然 url 和以前一样,但页面的内容是 site/index.php 而不是 (site/folder/index.php?q=something)。

我该如何调试,哪些工具可以让我遵循重定向规则的流程?

4

1 回答 1

1

在服务器或虚拟主机配置中,您可以添加以下行:

        RewriteLog /tmp/rewrite.log
        RewriteLogLevel 5

然后您可以查看写入/tmp/rewrite.log(或您选择的任何位置)的输出,以查看 mod_rewrite 实时执行的操作。如果您没有看到任何输出,则根本没有应用您拥有的规则(可能覆盖已更改或 mod_rewrite 未加载?)。

于 2012-12-18T07:27:27.377 回答