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


13

次の.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は無視されます。それはまったく渡されていないようです。

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

回答:


14

Query String Appendフラグを探しています-例えば

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

RewriteRuleフラグの詳細については、mod_rewriteドキュメントを参照してください。


あ、いいね!そのようなことがあることは知っていました。私は.htaccess初心者です。
ジェイクウィルソン

すべてのルールにQSAを追加する方法はあります
hakkikonu

こんにちは@danlefreeそれは古い質問ですが、Wampを使用すると、これを行うと、すべてのスタイルシート、スクリプトなどの参照が失われます。どうすれば解決できますか?
-DannyGM
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.