RewriteCond ruft Array-Parameter aus Query_String ab und konvertiert sie in einen Pfad, wobei die verbleibenden Parameter beibehalten werden
So lassen Sie zu, dass nur wenige Parameter weiterhin umgeleitet werden, während ein Parameter, bei dem es sich um ein Array handelt, im URL-Pfad in eine Zeichenfolge konvertiert wird
Beispiel: param1 [] = apple & price = 1,10 sollte / apple /? price = 1,10 werden
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
Antworten
anubhava
Sie können diese Umleitungsregel verwenden, die param1[]=
Abfrageparameter überall verarbeitet:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*&)?param1\[\]=([^&]*)(?:&(.*))?$ [NC] RewriteRule ^(.*?)/?$ /$1/%2?%1%3 [R=301,NE,L]