web-dev-qa-db-ja.com

GETパラメーターを書き換えられたURLに渡す方法は?

次のような.htaccess書き換えルールがあります。

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^search/(.*)$ search.php?q=$1

これは、誰かがhttp://example.com/search/testにアクセスした場合、実際に処理されるURIはhttp://www.example.com/search.php?q=testです。

書き換えられたURLに余分なランダムGETパラメーターを渡そうとすると、パラメーターは無視されます。だから私がここを訪問しようとすると:

http://www.example.com/search/whatever?extra=true

パラメーターextraは無視されます。それはまったく渡されていないようです。

この問題は修正できますか?もしそうなら、どのように?

12
Jake Wilson

Query String Appendフラグを探しています-例:.

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^search/(.*)$ search.php?q=$1 [QSA]

RewriteRuleフラグの詳細については、 mod_rewrite documentation を参照してください。

14
danlefree