协助htaccess调试技术

时间:2013-06-11 01:03:23

标签: .htaccess

我正在尝试使用共享主机调试.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=

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

1 个答案:

答案 0 :(得分:1)

您当前的规则将允许您进行调试。尝试打开此网址: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。在测试之前清除浏览器缓存一次。

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