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

Docker-Grundlagen-Tutorial: Detaillierte Erklärung der Dockerfile-Syntax

Vorwort Dockerfile ist ein vom Docker-Programm in...

Was soll ich tun, wenn ich die Quelldatei einer Webseite nicht anzeigen kann?

F: Wenn Sie Outlook oder IE verwenden, wird beim ...

MySQL 8.0.12 Installations- und Konfigurations-Tutorial

Dieser Artikel enthält das ausführliche Tutorial ...

jQuery realisiert den Bildverfolgungseffekt

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

Vier Lösungen für die Verwendung von setTimeout in JS for-Schleifen

Inhaltsverzeichnis Überblick Lösung 1: Verschlüss...

CSS-Lösung für mehrspaltiges Layout

1. Feste Breite + adaptiv Erwarteter Effekt: fest...

Beispiel für eine CSS3-Tab-Animation mit dynamischem Hintergrundwechseleffekt

CSS 3-Animationsbeispiel - Dynamischer Effekt des...

So binden Sie einen Docker-Container an eine externe IP und einen externen Port

Docker ermöglicht die Bereitstellung von Netzwerk...

Studiennotizen zur MySQL Master-Slave-Konfiguration

● Ich hatte vor, einige Cloud-Daten zu kaufen, um...

So ändern Sie die IP-Einschränkungsbedingungen des MySQL-Kontos

Vorwort Kürzlich stieß ich bei der Arbeit auf ein...