nginx rewrite-post-Daten
Ich schützen zu müssen, die POST-Daten an eine andere url
Rewrite funktioniert, aber die post Daten verloren gehen
müssen die post-Daten aus user_info.php zu userhistory
location ~ user_info.php {
rewrite ^/.* http://testing.com/userhistory permanent;
}
Daten verloren. Wie kann ich die Daten beizubehalten?
InformationsquelleAutor meWantToLearn | 2015-01-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im Grunde wollen Sie automatisch umgeleitet werden Sie eine POST-Anforderung mit einer 301-Moved Permanently umgeleitet.
Jedoch. solche redirect sind insbesondere nicht zulässig, die von der HTTP-Spezifikationen, die besagt, dass:
Den specs beachten Sie auch, dass:
Ich glaube, die zweite situation sein kann, was Los ist, und dass, während die Ziel-server erwartet POST-Daten, empfangen von Daten statt.
Ihre Auswahlmöglichkeiten sind:
A. Ändern Sie den code für die Arbeit mit Daten oder noch besser beide POST und GET. I. E., look für POST und wenn es nicht, versuchen, sich Entsprechungen.
B. Versuchen Sie sicherzustellen, dass der code, erhält POST-Daten durch die Zusammenarbeit mit der Skillung.
Können Sie in der Lage zu erreichen, Wahl B mit der proxy_pass Direktive, die Anforderung zu verarbeiten, statt.
Etwas wie:
In dieser Weise, der Benutzer ist technisch nicht umgeleitet.
InformationsquelleAutor Dayo
Brauchen Sie nur zu schreiben ein Nginx rewrite Regel mit HTTP-status-code
307
oder308
:Http-Status-code
307
oder308
sollte verwendet werden, anstelle von301
weil es ändert sich die request-Methode, die aus der POST zu HOLEN. Findenhttps://tools.ietf.org/id/draft-reschke-http-status-308-07.html#introduction
Ebenfalls Umleitung über
return
ist besser im Vergleich zurewrite
laut nginx-doc: https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/#taxing-rewritesInformationsquelleAutor Amit Thawait
In meiner conf verwende ich try_files mit regex
beispielsweise
InformationsquelleAutor Peter Lai