web-dev-qa-db-ja.com

GET URLパラメーターを保持するための.htaccess RewriteRule

HtaccessのURLを書き換えた後、URLのパラメーターを正常に機能させることができません。

私のhtaccessの書き換えは次のとおりです。

 RewriteEngine on
 RewriteRule ^([a-z]{2,2})/([a-zA-Z0-9_-]+)$ index.php?lang=$1&page=$2

つまり:

domain.com/index.php?lang=en&page=productdomain.com/en/productとして表示されます

何らかの理由で、URLの最後に?model=AB123&color=somethingを追加すると、表示されたURLに$_GET['model']および$_GET['color']が存在していても、PHPでこれらのパラメーターを取得できません。 。

なぜ変数が渡されないのですか?

30
Enkay

[QSA](クエリ文字列追加)タグで追加する必要があります。試して

RewriteEngine on
RewriteRule ^([a-z]{2,2})/([a-zA-Z0-9_-]+)$ index.php?lang=$1&page=$2 [QSA]

http://httpd.Apache.org/docs/2.2/mod/mod_rewrite.html を参照してください

68
Simon