質問: ### 前提・実現したいこと リクエストのURLのパラメータをリダイレクト先にも引き継がせたいのですが、 意図した通りの挙動になりません。 ご教示お願い致します。 ### 該当のソースコード ``` RewriteCond %{QUERY_STRING} ^mode=(sell)&var=(.)$ RewriteRule ^リクエストURL$ http://〇〇/test.php/%2/%1 [R] ``` リクエストURL?mode=sell&var=2 でアクセスすると、 〇〇/test.php/2/sell?mode=sell&var=2 でリダイレクトされてしまいます。 本当は、 〇〇/test.php/2/sell でリダイレクトしてほしかったのですが、 何故、このようになってしまうのでしょうか?
回答: mod_rewriteのRewriteRuleではクエリ文字列を引く次ぐのがデフォルトの動作です。 取り除く場合は空のクエリをつけてあげればOKです。 ``` RewriteCond %{QUERY_STRING} ^mode=(sell)&var=(.)$ RewriteRule ^リクエストURL$ http://〇〇/test.php/%2/%1? [R,L] ```