我正在尝试使用共享主机调试.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=
在我的浏览器栏中。知道为什么没有显示传入的请求吗?
答案 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
(永久重定向)。