RewriteCondはQuery_Stringから配列パラメーターをフェッチし、残りのパラメーターを保持しながらパスに変換します
配列である1つのパラメーターがURLパスで文字列に変換されている間、いくつかのパラメーターがリダイレクトされ続けることを許可する方法
例:param1 [] = apple&price = 1,10は/ apple /?price = 1,10になります
Orginal url: example.com/path1/?param1[]=apple¶m2=1,100
Expected redirection: example.com/path1/apple/?param2=1,100
Orginal url: example.com/path1/path2/?param[]=apple¶m2=1,100¶m3=yes
Expected redirect: example.com/path1/path2/apple/?param2=1,100¶m3=yes
回答
anubhava
param1[]=
クエリパラメータをどこでも処理するこのリダイレクトルールを使用できます。
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*&)?param1\[\]=([^&]*)(?:&(.*))?$ [NC] RewriteRule ^(.*?)/?$ /$1/%2?%1%3 [R=301,NE,L]