重写URL将不需要的参数附加到新URL的末尾

时间:2013-10-02 01:32:39

标签: php apache .htaccess mod-rewrite

我已经实现了这个重写规则:

RewriteCond %{QUERY_STRING} ^pBrand=GRAVIS$ [NC]

RewriteRule ^brand\.php$ /brand/gravis/ [R=301,L]

重定向工作正常,但最终结果是:

http://site.com.au/brand/gravis/?pBrand=GRAVIS

问题在于,我不希望附加?pBrand=GRAVIS。我怎么摆脱它?

1 个答案:

答案 0 :(得分:4)

您需要?来删除查询字符串:

RewriteCond %{QUERY_STRING} ^pBrand=GRAVIS$ [NC]
RewriteRule ^brand\.php$ /brand/gravis/? [R=301,L]

通常,查询字符串会自动附加,但如果目标中有?,则除非您拥有QSA标记,否则不会追加查询字符串。