1

我正在尝试使用共享主机调试 .htaccess 文件。我遇到过http://blog.tolleiv.de/2010/01/debugging-mod_rewrite/。我想使用提到的技术来回显传入的查询字符串

到目前为止,我有:

RewriteEngine on
RewriteCond %{QUERY_STRING} !vardump
RewriteRule (.*) http://mydomain.con/$1?vardump&reqhost=%{QUERY_STRING} [R=301,L,QSA]

当我把它放在我的 public_html/.htacess 中时,我得到了

http://mydomain.com/?vardump&reqhost=

在我的浏览器栏中。知道为什么不显示传入请求吗?

4

1 回答 1

1

您当前的规则将允许您进行调试。尝试打开此 URL:http://mydomain.com/contacts?foo=bar然后它将在您的浏览器中显示原始和修改后的查询。它将显示http://mydomain.com/contacts?vardump&reqhost=foo=bar&foo=bar在您的浏览器中。

但是,如果您http://mydomain.com按照您的规则加载,它确实会变成http://mydomain.com/?vardump&reqhost=两者$1并且%{QUERY_STRING}是空的。也最好不要R=301用于测试,制作它R=302。在测试之前清除浏览器缓存一次。

R=301在测试你的 mod_rewrite 规则时避免使用(永久重定向)。

于 2013-06-11T02:04:44.277 回答