Wie konvertiere ich mod_rewrite (QSA-Option) zu Nginx Äquivalent?
-
07-07-2019 - |
Frage
Ich suche die folgende mod_rewrite
Regel auf die Nginx Äquivalent zu konvertieren:
RewriteRule ^foo/(.*)$ /bar/index.php?title=$1 [PT,L,QSA]
RewriteRule ^foo/*$ /bar/index.php [L,QSA]
Bisher habe ich:
rewrite ^foo/(.*)$ /bar/index.php?title=$1&$query_string last;
rewrite ^foo/?$ /bar/index.php?$query_string break;
Das Problem ist (glaube ich!), Dass der Query-String angehängt nicht erhalten. Ich habe nicht einen Weg zum Hafen des QSA
Argument Nginx gefunden.
Lösung 2
Diese Rewrite-Regeln die Skripte aus arbeiten:
rewrite ^/foo/([^?]*)(?:\?(.*))? /bar/index.php?title=$1&$2;
rewrite ^/foo /bar/index.php;
Andere Tipps
QSA ist automatisch in NGINX.
Wenn Sie es nicht wollen, fügen? bis zum Ende Ihres neuen Standorts
umschreiben ^ / foo /bar/index.php? zuletzt;
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow