2016-07-28 80 views

回答

1

看一看flags - in particular, QSA

QSA | qsappend

當更換URI包含查詢字符串,重寫規則的默認行爲是放棄現有的查詢字符串,用新生成的代替它。使用[QSA]標誌會導致查詢字符串被合併。

考慮以下規則:

RewriteRule "/pages/(.+)" "/page.php?page=$1" [QSA] 

隨着[QSA]標誌,用於/pages/123?one=two的請求將被映射到/page.php?page=123&one=two。如果沒有[QSA]標誌,那個相同的請求將被映射到/page.php?page=123 - 也就是說,現有的查詢字符串將被丟棄。

Apache的手冊,©2016 Apache軟件基金會,Apache許可證2.0

所以你.htacess規則更改爲:

RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?key=$1 [QSA] 
+0

謝謝你這麼多@Ben。工作正常 –