2013-10-02 40 views
1

的我實現了這個重寫規則:重寫URL追加不必要的參數,結束新的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。我如何擺脫它?

+0

您是否嘗試從您的重寫規則中刪除pBrand = GRAVIS? – Vincent

+0

我會嘗試放棄'R'國旗 – Phil

回答

4

你需要一個?刪除的查詢字符串:

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

通常情況下,查詢字符串被自動添加,但如果你有在目標上的?,查詢字符串沒有得到追加,除非你有QSA標誌。

+0

謝謝,如果我有多個品牌,是否必須爲每個品牌重複這兩條線? – Joe

+0

@Joe是的,你可以做的另一件事是嘗試匹配查詢字符串的'GRAVIS'部分,然後使用'%1'返回引用它,也許使用重寫映射將其更改爲小寫 –