Ich möchte umleiten:
something.com/search?keywords='value'
Zu
something.com/search?q='value'
Hier ist meine Nginx-Konfiguration:
location ~ /search {
if ($args ~* "keywords=(.*)") {
rewrite ^.*$ /search?q=$arg_keywords permanent;
}
}
Bei der Umleitung ist der q
Parameter jedoch leer.
Was ist falsch?
Antwort1
Aber der q-Parameter ist bei der Umleitung leer.
Ich sehe dieses Problem nicht. Wenn ich die Konfiguration wie geschrieben teste, entsteht eine Umleitungsschleife, weil das Original keywords='value'
an die neu geschriebene URI angehängt wird.
Sie können rewrite
die Einbeziehung ursprünglicher Parameter verhindern, indem Sie ?
an die umgeschriebene URI ein anhängen.
Zum Beispiel:
rewrite ^ /search?q=$arg_keywords? permanent;
Sehendieses Dokumentfür Details.