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.

War es hilfreich?

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
scroll top