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


Rewrite URL appending unwanted parameter to end of new URL

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

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

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

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

问题是,我不想附加?pBrand=GRAVIS。我该如何摆脱它?

> 你需要一个?来删除查询字符串:

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

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