Detaillierte Erläuterung der Nginx Rewrite-Nutzungsszenarien und Codebeispiele

Detaillierte Erläuterung der Nginx Rewrite-Nutzungsszenarien und Codebeispiele

Nginx Rewrite-Nutzungsszenarien

1. Sprung der URL-Adresse. Wenn ein Benutzer beispielsweise pm.com besucht, wird er zu baidu.com umgeleitet, oder wenn ein Benutzer über http besucht, wird er zu https umgeleitet.

2. URL-Pseudostatisch, eine Technologie, die dynamische Seiten als statische Seiten anzeigt, die Offenlegung übermäßiger Parameter dynamischer URL-Adressen gegenüber der Außenwelt verringert und die Sicherheit verbessert.

3. Suchmaschinen-SEO-Optimierung stützt sich auf URL-Pfade, um den Suchmaschineneintrag zu unterstützen

4. Die von Benutzern durchsuchte URL kann angepasst werden, um standardisierter auszusehen und den Anforderungen von Entwicklern und Produktpersonal gerecht zu werden.

Konfigurationssyntax

Regex-Ersetzung neu schreiben [Flag];

4 Flaggen

last stoppt die Verarbeitung nachfolgender Umschreibbefehlssätze, verlässt den Standortbereich und beginnt mit der Suche nach einem Standort, der mit der geänderten URI übereinstimmt. Die URL-Adresse bleibt unverändert.

break stoppt die Verarbeitung nachfolgender Umschreibbefehlssätze, springt nicht aus dem Standortbereich, sucht nicht erneut, beendet den Abgleich und die URL-Adresse bleibt unverändert

redirect gibt eine temporäre 302-Umleitung zurück. In der Adressleiste des Browsers wird die umgeleitete URL angezeigt und der Crawler aktualisiert seine URL-Datenbank nicht.

permanent gibt eine permanente 301-Umleitung zurück, in der Adressleiste des Browsers wird die umgeleitete URL angezeigt und der Crawler aktualisiert seine URL-Datenbank

Hinweis: Bei Verwendung von last und break ändert sich die Adresse im Browser nicht, bei Verwendung von redirect und permanent ändert sie sich jedoch

Zum Beispiel:

Standort /abc/ {
  schreibe ^/abc/(.*) /whsir/$1 break neu;
  Rückgabe 401;
}
Standort /opq/ {
  schreibe ^/opq/(.*) /whsir/$1 zuletzt neu;
  Rückgabe 402;
}
Standort /whsir/ {
  Rückgabe 403;
}

Nach der Eingabe von abc wird, wenn der Inhalt von whir übereinstimmt, 200 zurückgegeben, andernfalls 404.

Nach dem Eingeben von opq wird, wenn der Inhalt von whir übereinstimmt, 403 zurückgegeben, andernfalls 404.

„last“ und „break“ geben nur einen Statuscode (Erfolg oder Misserfolg) zurück, während „redirect“ und „permanent“ zuerst 302 oder 301 zurückgeben, bevor sie Erfolg oder Misserfolg zurückgeben.

Häufig verwendete globale Nginx-Variablen:

Beispiel: http://www.pm.com:99/aa/bb/test.php

$host www.pm.com

$server_port 99

$request_uri /aa/bb/test.php

$Dokumentstammverzeichnis /pm_code

$Anforderungsdateiname /pm_code/aa/bb/test.php

Fall 1: Externer Sprung

Öffnen Sie die virtuelle Maschine lb01, schließen Sie die vorherige benutzerdefinierte Konfigurationsdatei und erstellen Sie eine neue /etc/nginx/conf.d/rewrite.conf

Hinweis: ^/ bedeutet, dass alle URLs, die mit root beginnen (hier ist das Stammverzeichnis /pm_code und der entsprechende Domänenname www.pm.com), zu Baidu umgeleitet werden.

Ändern Sie die Datei /etc/nginx/nginx.conf

Ändern Sie die Fehlerprotokollebene in „Hinweis“, damit Umleitungsinformationen aufgezeichnet werden können (Debug, Info, Hinweis, Warnen, Fehler, Krit., je mehr Informationen aufgezeichnet werden).

Fügen Sie dem http-Modul eine Zeile hinzu

rewrite_log on; (Protokollierung des erneuten Schreibens aktivieren)

prüfen

Geben Sie www.pm.com in die Adressleiste des Browsers ein (bereits in Hosts konfiguriert) und Sie werden auf die Baidu-Startseite weitergeleitet.

Fall 2: Interner Sprung

Ändern Sie den Inhalt von /etc/nginx/conf.d/rewrite.conf

Erstellen Sie die Datei 2.html (Inhalt 222) in /pm_code und geben Sie www.pm.com/1.html in den Browser ein

Anzeigen der Datensätze im Fehlerprotokoll

Verwenden von return

Bei der obigen Methode wird 1.html in der Adressleiste des Browsers angezeigt und der Inhalt der Webseite ist der Inhalt von 2.html. Wenn Sie 2.html in der Adressleiste anzeigen möchten, ändern Sie den Inhalt an der Position so, dass 302 /2.html zurückgegeben wird, oder schreiben Sie die Weiterleitung .* /2.html neu.

Verwenden regulärer Ausdrücke

Beispiel: Weiterleitung von www.pm.com/2020/* zu www.pm.com/2019/*

Die Klammern stellen ein Ganzes dar und $1 repräsentiert den Inhalt in der ersten Klammer.

Leiten Sie http auf https um.

Hinweis: Nach Nginx 1.14 müssen Sie „ssl on“ nicht mehr schreiben. Schreiben Sie stattdessen „listen 443 ssl“ in das Listenfeld.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Prinzip und Anwendungsbeispiele des URL-Umschreibmechanismus von Nginx
  • Beispiel für die reguläre Umschreibmethode für Nginx Rewrite (Matching)
  • Detaillierte Erklärung der Standort- und Umschreibenutzung in nginx
  • So leiten Sie eine URL mit Nginx Rewrite um
  • Detaillierte Erläuterung häufig verwendeter Nginx-Umschreibregeln
  • Detaillierte Erläuterung der Zusammenfassung des Nginx-Konfigurationsorts und des Schreibens von Umschreibregeln
  • Detaillierte Erläuterung des Nginx-Umschreibens und der Lokalisierung gemäß URL-Parametern
  • Analyse der Nutzungsszenarien und Konfigurationsmethoden von Nginx Rewrite

<<:  Natives js zum Erzielen eines Akkordeoneffekts

>>:  Gespeicherte MySQL-Prozeduren und allgemeine Funktionscodeanalyse

Artikel empfehlen

Unterschiede zwischen Windows Server 2008R2, 2012, 2016 und 2019

Inhaltsverzeichnis Allgemeine Versionseinführung ...

Detaillierte Beschreibung des MySQL-Ersetzens in der Verwendung

Die Ersetzungsanweisung ähnelt im Allgemeinen der...

Installieren Sie mysql5.7.10 manuell unter Ubuntu

Dieses Tutorial beschreibt den Prozess der manuel...

So aktualisieren Sie MySQL 5.6 auf 5.7 unter Windows

Vorne geschrieben Es gibt zwei Möglichkeiten, MyS...

So rufen Sie einen HTML-Code auf mehreren HTML-Seiten gemeinsam auf

Methode 1: Skriptmethode verwenden: Erstellen Sie...

Drei Möglichkeiten zum Teilen der Komponentenlogik in React

Ohne weitere Umschweife sind dies diese drei Meth...