So leiten Sie den Nginx-Verzeichnispfad um

So leiten Sie den Nginx-Verzeichnispfad um

Wenn der Pfad nach dem Domänennamen auf andere Verzeichnisse auf der lokalen Festplatte anstatt auf das Standard-Webverzeichnis verweisen soll, müssen Sie die Nginx-Verzeichniszugriffsumleitung einrichten. Anwendungsszenario: dashidan.com/image springt automatisch zu dashidan.com/folderName/image. Es gibt vier Möglichkeiten, die Nginx-Verzeichnispfadumleitung zu implementieren. Ändern Sie die Stammzuordnung, leiten Sie intern durch Nginx-Neuschreiben um, richten Sie die Alias-Zuordnung ein und implementieren Sie sie durch die permanente absolute 301-Umleitung von Nginx.

1 nginx ändert Root-Mapping

Das Ändern der Stammzuordnung zum Umleiten des Nginx-Verzeichniszugriffs ist die einfachste Möglichkeit und wird empfohlen.

Standort /Bild {
 Stammverzeichnis /Ordnername;
}

2 Zugriffsumleitung durch internen Nginx-Rewrite-Sprung

Beispiel für einen Nginx-Konfigurationscode:

Standort /Bild {
 schreibe ^/image/(.*)$ /folderName/image/$1 zuletzt um;
}

3 Implementierung der Nginx-Aliaszuordnung

Konfigurationsbeispiel:

Standort /Bild {
 alias /Ordnername/Bild; #Geben Sie hier den absoluten Pfad ein}

4. Implementierung durch die permanente 301-Umleitung von nginx

Konfigurationsbeispiel:

Standort /Bild {
 umschreiben ^/image/(.*)$ http://dashidan.com/folderName/image/$1;
}

5. Seite durch Beurteilung der URI umleiten

Konfigurationsbeispiel:

wenn ( $request_uri ~* ^(/image)){
 schreibe ^/image/(.*)$ /folderName/image/$1 zuletzt um;
}

Nginx-Standortabgleichsregeln

Befehl zur Standortübereinstimmung

~ #Die Wellenlinie zeigt eine reguläre Übereinstimmung an, Groß- und Kleinschreibung wird beachtet
~* # zeigt an, dass ein regulärer Abgleich durchgeführt werden soll, ohne Berücksichtigung der Groß- und Kleinschreibung
^~ #^~ zeigt eine normale Zeichenübereinstimmung an. Wenn diese Option übereinstimmt, wird nur diese Option abgeglichen und keine anderen Optionen. Dies wird im Allgemeinen zum Abgleichen von Verzeichnissen verwendet.
= # Führen Sie eine exakte Übereinstimmung gemeinsamer Zeichen durch
@ #"@" definiert einen benannten Ort, der für internes Targeting verwendet wird, wie etwa error_page, try_files

  1. = Präfix stimmt genau mit dieser Abfrage überein. Wenn Sie etwas gefunden haben, beenden Sie die Suche.
  2. Von allen verbleibenden regulären Zeichenfolgen die längste Übereinstimmung. Wenn dieser Übereinstimmung das Zeichen ^~ vorangestellt ist, wird die Suche beendet.
  3. Reguläre Ausdrücke in der in der Konfigurationsdatei definierten Reihenfolge.
  4. Wenn Regel 3 eine Übereinstimmung ergibt, wird das Ergebnis verwendet. Ansonsten gelten die gleichen Regeln wie ab Regel 2.

Die Priorität der Standortübereinstimmung (unabhängig von der Reihenfolge der Standorte in der Konfigurationsdatei)

= Genaue Übereinstimmungen werden zuerst verarbeitet. Wenn eine exakte Übereinstimmung gefunden wird, beendet nginx die Suche nach weiteren Übereinstimmungen.

Der Übereinstimmung mit gewöhnlichen Zeichen, regulären Ausdrücken und langen Blockregeln wird gegenüber der Abfrageübereinstimmung Vorrang eingeräumt. Dies bedeutet, dass bei einer Übereinstimmung des Elements geprüft werden muss, ob eine Übereinstimmung mit regulären Ausdrücken und eine längere Übereinstimmung vorliegt.

^~ entspricht nur dieser Regel und nginx beendet die Suche nach anderen Übereinstimmungen. Andernfalls verarbeitet nginx weiterhin andere Standortanweisungen.

Schließlich werden die Anweisungen mit „~“ und „~*“ abgeglichen. Wenn eine entsprechende Übereinstimmung gefunden wird, beendet nginx die Suche nach weiteren Übereinstimmungen. Wenn kein regulärer Ausdruck vorhanden ist oder kein regulärer Ausdruck übereinstimmt, wird die wörtliche Übereinstimmungsanweisung mit dem höchsten Übereinstimmungsgrad verwendet.

Standort = / {
 # Stimmt nur mit "/" überein.
 [ Konfiguration A ] 
}
Standort / {
 # Stimmt mit jeder Anfrage überein, da alle Anfragen mit "/" beginnen. # Aber Übereinstimmungen mit längeren Zeichen oder regulären Ausdrücken haben Vorrang [Konfiguration B] 
}
Standort ^~ /images/ {
 # Alle Anfragen abgleichen, die mit /images/ beginnen, und keine Übereinstimmungen mit anderen Standorten mehr
 [ Konfiguration C ] 
}
Standort ~* \.(gif|jpg|jpeg)$ {
 # Stimmt mit Anfragen überein, die mit „gif“, „jpg“ oder „jpeg“ enden. 
 # Aber alle Anfragen an das Verzeichnis /images/ werden von [Konfiguration C] behandelt. 
 [ Konfiguration D ] 
}

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 Erläuterung der Nginx-Konfiguration URL-Umleitung-Reverse-Proxy
  • Detaillierte Erklärung der Umleitungsfunktion in Nginx
  • So richten Sie eine 301-Umleitung in der Ngin-Konfiguration und eine 301-Umleitung im Nginx-Unterverzeichnis ein
  • Konfigurieren Sie nginx so, dass es zur Systemwartungsseite umleitet

<<:  Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.10 WinX64 (Win10)

>>:  Das WeChat-Applet wählt die Bildsteuerung

Artikel empfehlen

So kapseln Sie die Karussellkomponente in Vue3

Zweck Kapseln Sie die Karussellkomponente und ver...

So erhalten Sie Datums-/Uhrzeitdaten in MySQL, gefolgt von .0

Der Datentyp von MySQL ist datetime. Die in der D...

Detaillierte Erklärung dynamisch generierter Tabellen mit Javascript

*Seite erstellen: zwei Eingabefelder und ein Butt...

Vue implementiert das gleichzeitige Einstellen mehrerer Countdowns

In diesem Artikelbeispiel wird der spezifische Co...

Beispiele für die MySQL-Verschlüsselung und -Entschlüsselung

Beispiele für die MySQL-Verschlüsselung und -Ents...

Prozessdiagramm zur Implementierung des CentOS-IP-Verbindungsnetzwerks

1. Melden Sie sich beim System an und geben Sie d...

22 Vue-Optimierungstipps (Projektpraxis)

Inhaltsverzeichnis Code-Optimierung Verwenden der...