Prinzip und Anwendungsbeispiele des URL-Umschreibmechanismus von Nginx

Prinzip und Anwendungsbeispiele des URL-Umschreibmechanismus von Nginx

Durch das Umschreiben der URL lässt sich die bevorzugte Domäne der Website ermitteln. 301-Weiterleitungen für mehrere Pfade derselben Ressourcenseite helfen dabei, das URL-Gewicht zu konzentrieren.

Einführung in die Nginx-URL-Umschreibung

Wie bei Apache und anderer Webdienstsoftware besteht die Hauptfunktion von Rewrite darin, die URL-Adresse umzuleiten. Die Umschreibfunktion von Nginx erfordert die Unterstützung der PCRE-Software, d. h. der Regelabgleich wird über Perl-kompatible reguläre Ausdrucksanweisungen durchgeführt. Das Kompilieren von nginx mit Standardparametern unterstützt das Rewrite-Modul, aber PCRE-Unterstützung ist ebenfalls erforderlich

„rewrite“ ist die Schlüsselanweisung zum Umschreiben von URLs. Sie leitet zum Ersetzen gemäß dem Regex-Teil (regulärer Ausdruck) weiter und endet mit einem Flag-Tag.

Das Umschreibsyntaxformat und die Parametersyntax lauten wie folgt:

<regulärer Ausdruck> <Ersatz> [Flag] neu schreiben;

Stichwort regulärer Ersatz Inhalt Flag-Tag

Schlüsselwörter: Das Schlüsselwort error_log kann nicht geändert werden

Regulär: Perl-kompatible reguläre Ausdrucksanweisung für Regelvergleich

Ersetzungsinhalt: Ersetzen Sie den Inhalt, der mit dem regulären Ausdruck übereinstimmt, durch Ersetzung

Flag-Tag: Flag-Tag wird durch Umschreiben unterstützt

Flaggenbeschreibung:

  • letzte #Nachdem diese Regel erfüllt ist, stimmen Sie weiterhin mit der neuen Standort-URI-Regel überein
  • break #Diese Regel wird beendet, wenn sie erfüllt ist, und erfüllt keine nachfolgenden Regeln.
  • Umleitung #Return 302 temporäre Umleitung, die Browseradresse zeigt die URL-Adresse nach dem Sprung an
  • permanent #Return 301 permanente Umleitung, die Adressleiste des Browsers zeigt die URL-Adresse nach dem Sprung an

Die Position des Beschriftungssegments des Umschreibparameters:

Server, Standort, wenn

Beispiel:

umschreiben ^/(.*) http://www.czlun.com/$1 permanent;

veranschaulichen:

  • rewrite ist ein festes Schlüsselwort, das den Beginn der Rewrite-Übereinstimmungsregeln angibt
  • Der Regex-Teil ist ^/(.*). Dabei handelt es sich um einen regulären Ausdruck, der mit dem vollständigen Domänennamen und der darauf folgenden Pfadadresse übereinstimmt.
  • Der Ersetzungsteil ist http://www.czlun.com/$1 $1, der dem Inhalt im Regex-Teil () entnommen wird. Die URL, zu der nach einer erfolgreichen Übereinstimmung gesprungen werden soll.
  • Der Flag-Teil permanent zeigt ein permanentes 301-Umleitungsflag an, was bedeutet, dass zur neuen Adresse http://www.czlun.com/$1 gesprungen wird

Regex Allgemeine Beschreibung regulärer Ausdrücke

Charakter

beschreiben

\

Markiert das folgende Zeichen als Sonderzeichen oder Literalzeichen oder Rückverweis. Beispielsweise entspricht "\n" einem Zeilenumbruchzeichen und "\$" entspricht "$".

^

Entspricht dem Anfang der Eingabezeichenfolge

$

Entspricht dem Ende der Eingabezeichenfolge

*

Stimmt null oder mehrmals mit dem vorhergehenden Zeichen überein. Beispielsweise kann „ol*“ mit „o“ und „ol“, „oll“ übereinstimmen.

+

Stimmt ein- oder mehrmals mit dem vorhergehenden Zeichen überein. Beispielsweise kann „ol+“ mit „ol“, „oll“ und „oll“ übereinstimmen, aber nicht mit „o“.

?

Stimmt null- oder einmal mit dem vorhergehenden Zeichen überein. Beispielsweise kann "do(es)?" mit "do" oder "does" übereinstimmen. "?" ist gleichbedeutend mit "{0,1}"

.

Stimmt mit jedem einzelnen Zeichen außer "\n" überein. Um mit jedem Zeichen einschließlich "\n" übereinzustimmen, verwenden Sie ein Muster wie "[.\n]".

(Muster)

Stimmt mit dem Muster in den Klammern überein und kann später die entsprechende Übereinstimmung erhalten. Die Attribute $0...$9 werden häufig verwendet, um den passenden Inhalt in den Klammern zu erhalten. Um die Klammern zu finden, benötigen Sie \(Inhalt\)

Unternehmensanwendungsszenarien neu schreiben

Die Umschreibfunktion von Nginx wird in Unternehmen häufig verwendet:

  • u Sie können die von Benutzern aufgerufene URL anpassen, um ein standardisierteres Aussehen zu erzielen und den Anforderungen von Entwicklern und Produktpersonal gerecht zu werden.
  • u Um Suchmaschinen die Indizierung von Website-Inhalten zu ermöglichen und ein besseres Benutzererlebnis zu bieten, tarnen Unternehmen dynamische URL-Adressen als statische Adressen, um Dienste bereitzustellen.
  • u Nachdem die URL auf einen neuen Domänennamen geändert wurde, werden die alten Besuche auf den neuen Domänennamen umgeleitet. Wenn Sie beispielsweise JD.coms 360buy.com besuchen, werden Sie zu jd.com weitergeleitet.
  • u Passen Sie URLs basierend auf speziellen Variablen, Verzeichnissen, Clientinformationen usw. an.

Einführung in den Nginx-Rewrite-Konfigurationsprozess

(1) Erstellen Sie eine Umschreibeanweisung

vi conf/vhost/www.abc.com.conf

#vi Bearbeiten Sie die Konfigurationsdatei des virtuellen Hosts

Dateiinhalt

Server {
    hören Sie 80;
    Servername abc.com;
    umschreiben ^/(.*) http://www.abc.com/$1 permanent;
}
Server {
    hören Sie 80;
    Servername www.abc.com;
    Standort / {
        Wurzel /data/www/www;
        Index Index.html Index.htm;
    }
    error_log Protokolle/error_www.abc.com.log Fehler;
    access_log Protokolle/access_www.abc.com.log Haupt;
}

oder

Server {
    hören Sie 80;
    Servername abc.com www.abc.com;
    wenn ( $host != 'www.abc.com' ) {
        umschreiben ^/(.*) http://www.abc.com/$1 permanent;
    }
    Standort / {
        Wurzel /data/www/www;
        Index Index.html Index.htm;
    }
    error_log Protokolle/error_www.abc.com.log Fehler;
    access_log Protokolle/access_www.abc.com.log Haupt;
}

(2) Starten Sie den Dienst neu

Nach der Bestätigung können Sie neu starten. Der Vorgang ist wie folgt:

nginx -t

#Wenn das Ergebnis ok und erfolgreich ist, können Sie neu starten

nginx -s neu laden

(3) Überprüfen Sie den Sprungeffekt

Öffnen Sie Ihren Browser und besuchen Sie abc.com

Nachdem die Seite geöffnet wurde, wird abc.com in der URL-Adressleiste zu www.abc.com, was darauf hinweist, dass die URL erfolgreich umgeschrieben wurde.

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:
  • Detaillierte Erklärung des Rewrite-Moduls 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 des Nginx-Umschreibens und der Lokalisierung gemäß URL-Parametern
  • Nginx umschreiben, Grundlagen umschreiben und Beispiele teilen
  • Einführung in die Nginx-Rewrite-Regeln und -Verwendung sowie Fertigkeitsbeispiele
  • Nginx: Pseudostatische Konfigurationsparameter und Anwendungsbeispiele neu schreiben
  • Analyse der Nutzungsszenarien für die Nginx-Umschreibfunktion

<<:  Zusammenfassung der MySql-Import- und Exportmethoden mit mysqldump

>>:  Allgemeine Array-Operationen in JavaScript

Artikel empfehlen

CSS- und HTML- und Front-End-Technologie-Schichtendiagramm

Die Beziehung zwischen Javascript und DOM ist seh...

Eine kurze Erläuterung zu „Group By“ in MySQL

Inhaltsverzeichnis 1. Einleitung 2. Bereiten Sie ...

Detaillierte Erklärung des dynamischen Weihnachtsbaums durch JavaScript

Inhaltsverzeichnis 1. Animierter Weihnachtsbaum, ...

Installieren Sie Kafka unter Linux

Inhaltsverzeichnis 1.1 Java-Umgebung als Vorausse...

Zusammenfassung der Verwendung von vue Watch und Computed

Inhaltsverzeichnis 01. Hörer beobachten (1) Funkt...

Docker startet Redis und legt das Passwort fest

Redis verwendet das Apline-Image (Alps) von Redis...

Der Unterschied zwischen Docker Run und Start

Der Unterschied zwischen Ausführen und Starten in...

Lernen Sie die asynchrone Programmierung in Node.js in einem Artikel

Inhaltsverzeichnis Einführung Synchron Asynchron ...

Tutorial zur Installation von mysql5.7.23 auf Ubuntu 18.04

In diesem Artikel erfahren Sie, wie Sie mysql5.7....

Eine kurze Diskussion zum CSS-Höhenkollapsproblem

Leistung Zum Beispiel: HTML: <div Klasse="...