Analyse der Nutzungsszenarien und Konfigurationsmethoden von Nginx Rewrite

Analyse der Nutzungsszenarien und Konfigurationsmethoden von Nginx Rewrite

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
  • Detaillierte Erläuterung der Nginx Rewrite-Nutzungsszenarien und Codebeispiele
  • 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

<<:  Drei Möglichkeiten zum Löschen einer Tabelle in MySQL (Zusammenfassung)

>>:  Zusammenfassung von 28 gängigen JavaScript-String-Methoden und Verwendungstipps

Artikel empfehlen

Tutorial zur DHCP-Konfiguration in der CentOS7-Umgebung

Inhaltsverzeichnis Konfigurationsbefehlsschritte ...

Grundlegender Installationsprozess von mysql5.7.19 unter winx64 (Details)

1. Herunterladen https://dev.mysql.com/downloads/...

Verschiedene Arten von MySQL-Indizes

Was ist ein Index? Ein Index ist eine Datenstrukt...

Mysql löscht doppelte Daten, um die kleinste ID-Lösung beizubehalten

Suchen Sie online nach doppelten Daten und behalt...

Vue implementiert das Hinzufügen von Wasserzeichen zu hochgeladenen Bildern

In diesem Artikel wird der spezifische Implementi...

Zusammenfassung der Grundsätze zum Schreiben von HTML-Seiten für E-Mails

Da HTML-E-Mail keine unabhängige HOST-Seite auf di...

Implementierungsmethode für die Datenspeicherung im WeChat-Applet

Inhaltsverzeichnis Globale Variable „globalData“ ...

So steuern Sie die Startreihenfolge von Docker Compose-Diensten

Zusammenfassung Docker-Compose kann problemlos me...

Zusammenfassung der Probleme mit der Mysql-connector-java-Treiberversion

Problem mit der Mysql-Connector-Java-Treiberversi...

vue + ts realisiert den Effekt des Ziehens von Elementen mit der Maus

In diesem Artikelbeispiel wird der spezifische Co...

Google Translate Tool: Mehrsprachige Webseiten schnell umsetzen

Google China hat ein Übersetzungstool veröffentlic...

Detaillierte Erklärung zur Konfiguration der OpenGauss-Datenbank im Docker

Für Windows-Benutzer Verwenden von openGauss in D...