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

Swiper+echarts realisiert den Links- und Rechts-Scrolleffekt mehrerer Dashboards

In diesem Artikel wird der spezifische Code von S...

JS Asynchronous Stack Tracing: Warum „await“ besser ist als „Promise“

Überblick Der grundlegende Unterschied zwischen a...

So importieren Sie schnell Daten in MySQL

Vorwort: Im täglichen Studium und bei der Arbeit ...

So schreiben Sie den Stil einer CSS3-Tianzi-Rasterliste

In vielen Projekten ist es notwendig, die Funktio...

Detailliertes Tutorial zur Nginx-Installation

1. Kurze Einführung in Nginx Nginx ist ein kosten...

Installieren Sie Zookeeper unter Docker (Standalone und Cluster).

Nachdem wir Docker gestartet haben, schauen wir u...

Detaillierte Schritte zur Installation von Mysql5.7.19 mit yum auf Centos7

In der Yum-Quelle von Centos7 ist standardmäßig k...

Tutorial zur Installation und Konfiguration von MySQL für Mac

In diesem Artikel finden Sie das MySQL-Installati...

Wie kann MySQL das Löschen und Weglaufen von Datenbanken wirksam verhindern?

Inhaltsverzeichnis Einstellungen für den abgesich...

Detaillierte Erklärung der Standardwerte von Breite und Höhe in CSS: auto und %

abschließend % der Breite: definiert die prozentu...

Der URL-Wert des SRC- oder CSS-Hintergrundbildes ist der Base64-codierte Code

Möglicherweise ist Ihnen aufgefallen, dass auf die...

MySQL Master-Slave-Replikationsprinzip und zu beachtende Punkte

Vorne geschrieben Ich habe kürzlich ein spezielle...