Heim >Betrieb und Instandhaltung >Nginx >Standortabgleich und Sprungmethoden zum Umschreiben in Nginx

Standortabgleich und Sprungmethoden zum Umschreiben in Nginx

WBOY
WBOYnach vorne
2023-05-22 15:25:191793Durchsuche

    1. Rewrite-Jump-Implementierung

    Nginx: Unterstützt das Umschreiben von URLs und die Beurteilung von Bedingungen durch das Modul ngx_http_rewrite_module, unterstützt jedoch nicht anderes.

    Jump: Springen von einem Ort zu einem anderen Ort, die Schleife kann bis zur Ausführung reichen 10 Mal gibt Nginx nach Überschreitung einen Fehler von 500 zurück.

    PCRE-Unterstützung: Perl-kompatibler Regelabgleich der regulären Ausdruckssyntax Der Rewriter-Befehl im Serverblock

    ② Standortabgleich ausführen

    ③ Den Rewrite-Befehl am ausgewählten Standort ausführen

    3. Sprungszenario neu schreiben

    Passen Sie die vom Benutzer durchsuchte URL so an, dass sie standardisierter aussieht und der Entwicklung entspricht Die Bedürfnisse des Produktpersonals

    Um Suchmaschinen dazu zu bringen, Website-Inhalte zu durchsuchen und eine bessere Benutzererfahrung zu bieten, werden Unternehmen dynamische URL-Adressen als statische Adressen tarnen, um Dienste bereitzustellen

    Nachdem die URL in einen neuen Domainnamen geändert wurde, werden alte Besuche durchgeführt Wenn Sie beispielsweise 360buy.com von JD.com besuchen, werden einige geschäftliche Anpassungen auf dem Server vorgenommen, z. B. URL-Anpassungen basierend auf speziellen Variablen, Verzeichnissen, Kundeninformationen usw.

    4. Grammatik- und FLG-Tag-Beschreibung

    Syntax-Rewrite Flag-Tags

    Flag-Tag-Beschreibung:

    last: Nachdem der Abgleich dieser Regel abgeschlossen ist, werden neue Standort-URI-Regeln weiter nach unten abgeglichen, die im Allgemeinen im Server verwendet werden und wenn

    break: Diese Regel wird danach beendet Der Abgleich ist abgeschlossen und stimmt nicht mehr mit nachfolgenden Regeln überein. Wird im Allgemeinen am Standort verwendet.

    Umleitung: Gibt eine temporäre 302-Umleitung zurück. Die Browseradresse zeigt nach dem Sprung die URL-Adresse an.

      Permanent: Gibt eine dauerhafte 301-Umleitung zurück , die Adressleiste des Browsers zeigt nach dem Sprung die URL an Adresse
    • 5. Häufig verwendete Symbole für reguläre Ausdrücke in Nginx
    • 6. Standort

      1. Klassifizierung
    • Der Standort kann grob in die folgenden drei unterteilt werden Kategorien:

    Genaue Übereinstimmung: Standort = / {&hellip ;}

    Standortabgleich und Sprungmethoden zum Umschreiben in NginxAllgemeine Übereinstimmung: Standort / {…}

    Regelmäßige Übereinstimmung: Standort ~ / {…}

      2 Übereinstimmende Regeln
    • 3. Dann erfolgt der Präfixabgleich ohne jegliche Änderung, also allgemeiner Abgleich

    • Schließlich übergeben an / Universal Matching, mit der niedrigsten Priorität

    4. Beispiel

    localtion = / {}

    Standortabgleich und Sprungmethoden zum Umschreiben in Nginx= ist eine exakte Übereinstimmung /, und nach dem Hostnamen können keine Zeichenfolgen eingefügt werden, z. B. wenn auf / und /xcf zugegriffen wird, dann stimmt / überein, /xcf stimmt nicht überein

    Standort / {}

      Da alle Adressen mit / beginnen, stimmt diese Regel überein alle Anfragen, wie z. B. Zugriff auf / und /data, dann / stimmt überein, /data stimmt auch überein
    • Aber wenn ihm ein regulärer Ausdruck folgt, wird er zuerst mit der längsten Zeichenfolge abgeglichen (längste Übereinstimmung)

    • Standort /Dokumente/ {}
    • Nachdem Sie die Adresse gefunden haben, die mit /documents/ beginnt, müssen Sie mit der Suche nach „Andere Orte“ fortfahren Standorte

    • Nur die regulären Ausdrücke hinter anderen Standorten werden nicht abgeglichen. Dieser
    • Standort ^~ /images/ {}

    • stimmt mit jeder Adresse überein, die mit /images/ beginnt. Stoppen Sie nach dem Abgleich die Suche nach regulären Regeln und verwenden Sie diesen
    • Standort ~ * .( gif|jpg|jpeg)$ {}

    • passt zu allen Anfragen, die mit gif, jpg, jpeg enden
    • Allerdings werden alle unter /images/ angeforderten Bilder nach Standort ^~ /images/ verarbeitet, da ^~ Vorrang hat Die Ebene ist höher, daher kann diese reguläre Regel nicht erreicht werden

    • Standort /images/abc {}

    Das längste Zeichen entspricht /images/abc, das die niedrigste Priorität hat. Wenn Sie weiterhin nach anderen Orten suchen, werden Sie fündig dass ^~ und ~ existieren

    location ~ /images/abc {}

    übereinstimmt mit denen, die mit /images/abc beginnen, mit der zweiten Priorität. Dies wird nur verwendet, wenn location ^~ /images entfernt wird

    location /images /abc/1.html {}

    Übereinstimmung mit der /images/abc/1.html-Datei. Im Vergleich zur regulären ~ /images/abc/1.html hat die reguläre Datei eine höhere Priorität

    Prioritätszusammenfassung:

    (Speicherort = voll Pfad) > (Standort ^~ Pfad) > (Standortteil-Startpfad)

    5. Die erste erforderliche Regel:

    Direkt Der Zugriff auf die Homepage der Website über den Domainnamen beschleunigt die Verarbeitung, beispielsweise über die offizielle Website

    Es kann eine statische Homepage sein oder direkt an den Back-End-„Anwendungsserver“ weitergeleitet werden – PHP, Apache (der Anwendungsserver ist im Bild unten dargestellt)

    Standortabgleich und Sprungmethoden zum Umschreiben in Nginx

    location / {
        root
        html;
        index
        index.html index.html;
    }

    ②Die zweite erforderliche Regel:

    Verarbeitung statischer Dateianforderungen, was die Stärke von Nginx als http-Server darstellt (①Funktion zur statischen Anforderungsverarbeitung②hohe Fähigkeit zur gleichzeitigen Verarbeitung③geringer Ressourcenverbrauch)

    Es gibt zwei Konfigurationsmodi: Verzeichnisabgleich oder Suffixabgleich. Wählen Sie einen aus oder verwenden Sie ihn zusammen mit

    location ^~ /static/ {
        root /webroot/static/;
    }
     
    location ~* \.(html|gif|jpg|jpeg|png|css|js|ico)$ {
        root /webroot/res/ ;
    }

    ③ Die dritte erforderliche Regel:

    ist eine allgemeine Regel, die beispielsweise zum Weiterleiten dynamischer Anforderungen mit den Suffixen .php und .jsp an den Back-End-Anwendungsserver verwendet wird.

    Nicht statische Dateianforderungen sind standardmäßig dynamische Anforderungen (Jump/ Reverse-Proxy)

    upstream tomcat_server {
    		192.168.126.12:80
    		192.168.126.23:80
    }
    location / {
        proxy_ pass http://tomcat_server;

    Zusammenfassung:

    1. Vergleichen Sie Rewrite und Location

    Gleiche Punkte: Beide implementieren Jump

    Unterschiede: Rewrite ändert den Pfad, um Ressourcen innerhalb desselben Domainnamens zu erhalten

    Location steuert den Zugriff oder Reverse-Proxy zu einer Klasse von Pfaden und kann auch Proxy_Pass an andere Maschinen senden

    2. Das Umschreiben wird in den Speicherort geschrieben und die Ausführungssequenz wird ausgeführt. Führen Sie den Umschreibebefehl im Serverblock aus. Führen Sie den Standortabgleich aus

    • Führen Sie die Umschreibungsanweisung am ausgewählten Standort aus

    • 3. Wie sind die Standortprioritäten angeordnet?

    • Eine bestimmte Datei abgleichen

      (Speicherort ^~ vollständiger Pfad) > (Speicherort ~ vollständiger Pfad) > Verzeichnis, das auf eine Datei zugreift
    (Speicherort ~ Verzeichnis) > (Speicherort ~* Verzeichnis)

    4 Ändert sich das Verzeichnis nur, wenn die Groß-/Kleinschreibung nicht beachtet wird? Regulärer Ausdruck: Der Zweck besteht darin,

    Dateien so genau wie möglich abzugleichen , höhere Priorität

    Das obige ist der detaillierte Inhalt vonStandortabgleich und Sprungmethoden zum Umschreiben in Nginx. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen