我想使用mod_rewrite(.htaccess)从URL中删除查询字符串,但仅适用于/index.php
(而不是/
)。
例如,http://www.example.org/index.php?foo=bar
应该重定向到http://www.example.org/index.php
,但http://www.example.org/?foo=bar
应该保持不变。
这是我目前的结论:
RewriteCond %{QUERY_STRING} !=""
RewriteCond %{REQUEST_URI} ^/index\.php
RewriteRule ^(.*)$ /$1? [R=301,L]
它有效,但没有我想要的限制(即使index.php
不在URL中,它仍会删除查询字符串。我认为这可能与REQUEST_URI意识到/
有关正在内部重定向到/index.php
,但我无法确定。
作为一个附带问题,如果我能弄清楚使用了什么价值REQUEST_URI,那么我可以更轻松地完成这些工作,是否有一种简单的方法可以将其记录到某个地方?
答案 0 :(得分:0)
您可以将此行添加到httpd.conf以查看正在进行的操作
RewriteLog /path/to/log
RewriteLogLevel 5