Ich suche die folgende mod_rewrite
Regel auf die Nginx equivalent zu konvertieren:Wie konvertiere ich mod_rewrite (QSA-Option) in Nginx-Äquivalent?
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 die Query-String nicht angehängt werden. Ich habe keine Möglichkeit gefunden, das Argument QSA
zu Nginx zu portieren.
Kommentar entfernt – Zoltan
Dies ist korrekt. Die Dokumentation (unter http://nginx.org/en/docs/http/ngx_http_rewrite_module.html) lautet: "Wenn eine Ersetzungszeichenfolge die neuen Anforderungsargumente enthält, werden die vorherigen Anforderungsargumente nach ihnen angefügt." (Hinweis: "Wenn dies nicht erwünscht ist, wird durch ein Fragezeichen am Ende eines Ersetzungsstrings vermieden, dass sie angehängt werden.") – Zoltan