Nachdruck von: Rewrite-Befehl (Break, Last, Redirect, Permanent) in Nginx
rewite
Unter dem Serverblock wird zuerst der Rewrite-Teil ausgeführt und dann Passend zum Standortblock
Es gibt keinen Unterschied zwischen „Rewrite Break“ und „Last“ auf dem Server. Sie stimmen mit dem Standort überein, sodass es nicht erforderlich ist, „Last“ zu verwenden, um eine neue Anfrage zu initiieren. Sie können das Feld leer lassen
Rewirte in Location:
Schreiben Sie nicht zuletzt und brechen Sie ab – dann besteht der Prozess darin, diese Umschreibungen nacheinander auszuführen
1. Pause umschreiben – Nach dem Umschreiben der URL die aktuelle Ressource direkt verwenden und die verbleibenden Anweisungen am Speicherort nicht mehr ausführen. Diese Anforderung ist abgeschlossen und die URL in der Adressleiste bleibt unverändert
2. Letztes neu schreiben – Nachdem die URL neu geschrieben wurde, initiieren Sie sofort eine neue Anfrage, geben Sie den Serverblock erneut ein und versuchen Sie den Standortabgleich erneut. Wenn der Abgleich mehr als 10 Mal fehlschlägt, wird ein 500-Fehler gemeldet und die URL der Adressleiste angezeigt bleibt unverändert
3. Rewrite Redirect – gibt 302 temporäre Weiterleitung zurück, die Adressleiste zeigt die umgeleitete URL an und der Crawler aktualisiert die URL nicht (da sie temporär ist)
4. permanent umschreiben – gibt 301 permanente Weiterleitung zurück, die Adressleiste zeigt die umgeleitete URL an und der Crawler aktualisiert die URL
Durch die Verwendung von last wird eine Anforderung für das Server-Tag erneut initiiert
Wenn die Umschreiben am Standort ist Für Anforderungen nach statischen Ressourcen ist kein weiterer Abgleich erforderlich. Im Allgemeinen ist eine Unterbrechung oder kein Schreiben erforderlich, und die Datenquelle am aktuellen Standort wird direkt zum Abschließen der Anforderung verwendet
Wenn nach dem Umschreiben am Speicherort weitere Verarbeitungen durchgeführt werden müssen, z. B. dynamische FastCGI-Anfragen (.php, .jsp) usw., müssen Sie last verwenden, um weiterhin neue Anfragen zu initiieren
(Es ist besser, „last“ für den Stammspeicherort zu verwenden, da bei Fastcgi-Anfragen wie .php diese weiterhin verarbeitet werden.)
Verwenden Sie einen Alias, um die Quelle anzugeben: Sie müssen „last“ verwenden.
if-Anweisung wird hauptsächlich verwendet, um einige der Bedingungen zu bestimmen, die in der Rewrite-Anweisung nicht direkt abgeglichen werden können, z. B. das Erkennen der Existenz von Dateien, HTTP-Headern, Cookies usw.
Regeln und Prioritäten für den Standortabgleich
break-Anweisung
wird vor der Serverblock-Rewrite-Anweisung
platziert
Wenn Sie direkt eine echte Datei anfordern, verwenden Sie die break-Anweisung, um die Umschreibungsprüfung zu stoppen
if (-f $request_filename) {
Pause;
}
Das Obige stellt die Umschreibungsanweisungen „Break“, „Last“, „Redirect“ und „Permanent“ in Nginx vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.