htaccess:为什么最终页面从开始重定向页面有GET参数?

时间:2012-09-09 09:07:09

标签: .htaccess redirect

我有这条规则:

RewriteCond %{QUERY_STRING} someGetParameter=1
RewriteRule ^someoldpage.php$ http://newdomain.ru/page/ [L,R=301]

重定向后我得到了

http://newdomain.ru/page/?someGetParameter=1

而不是

http://newdomain.ru/page/

为什么会出错?

1 个答案:

答案 0 :(得分:1)

因为你的假设是错误的,所以“错了”,请参阅RewriteRule directive

  

修改查询字符串

     

默认情况下,查询字符串不会更改。但是,您可以在包含查询字符串部分的替换字符串中创建URL。只需在替换字符串中使用问号,即表示应将以下文本重新注入查询字符串。如果要删除现有查询字符串,请仅使用问号结束替换字符串。要合并新旧查询字符串,请使用[QSA]标记。

所以:

RewriteCond %{QUERY_STRING} someGetParameter=1
RewriteRule ^someoldpage.php$ http://newdomain.ru/page/? [L,R=301]