Warum nginx variable $args oder $query_String beinhaltet nicht die Abfrage-Parameter nach &?
Arbeite ich an einem Projekt, das ich brauche, um das setup nginx rewrite-Regel ändern die url mit query-Anfrage. E. g.:
www.abc.com/pathA/pathB/script.pl?paraA=10¶B=20
umgeschrieben werden zu :
www.abc.com/pathA/pathB/script.pl.1020
Ich versuche die variable $args oder $query_string (basierend auf dem nginx-doc-Sie sind die gleichen), um zu überprüfen, ob die url muss die Abfrage-Anforderung, wie ich umschreiben möchten. Aber ich fand $args (oder $query_string) hat nur den Inhalt, bevor Sie &.
In meinem Beispiel, bedeutet es, dass $args = paraA=10. Ich kann nicht an den parameter Inhalt nach &. Ich bestimme dies durch nginx error log die ich-Ebene zu Debuggen.
Jede Idee, warum komme ich nicht an die Abfrage-Parameter nach dem & in der variable $args oder $query_string ?
Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie
$arg_<argname>
http://www.abc.com/pathA/pathB/script.pl?paraA=10¶B=20
umgeschrieben werden zu : http://www.abc.com/pathA/pathB/script.pl.1020
Unten ist eine Beispiel-config, so etwas zu tun
redirect
am Ende der rewrite der Sie Probleme haben. Versuchen Sie auch das hinzufügenrewrite_log on;
dies wird Ihnen mehr Protokolle zu umschreibenDas problem ist nicht verursacht durch die nginx-Konfiguration-Datei. Es wird verursacht, durch die ich vergessen doppelten Anführungszeichen, wenn ich die gesendeten request mit curl. E. g.:
curl "www.abc.com/pathA/pathB/script.pl?paraA=10¶B=20"
Ohne Anführungszeichen, "¶B=20" nie gesendet werden ... eigentlich.