In diesem Artikel werden wir die Regex-Beispiele für den Nginx-Standort kurz erläutern.
Voraussetzungen
In diesem Artikel wird davon ausgegangen, dass Nginx bereits auf Ihrem System installiert ist.
Syntax der Nginx-Standortdirektive
Die folgende Syntax ist für das Standortverzeichnis in der Nginx-Konfigurationsdatei verfügbar:
Standort [Modifikator] [URL-Übereinstimmung]…
Der Nginx-Standortblock kann in einem Serverblock oder an einem anderen Standort mit einigen vordefinierten Bedingungen hinzugefügt werden. In der obigen Syntax ist der Modifikator ein optionaler Parameter. Das Vorhandensein von Modifikatoren im Standortblock ermöglicht es Nginx, mit einer URL in einer anderen Reihenfolge umzugehen. Hier werden im Folgenden einige Modifikatoren mit einigen Beispielen erwähnt:
1. Abgleich aller Anfragen mit Nginx-Standortblock
Das '/' wird für den Standort des Präfixes verwendet, um allen Anfragen zu entsprechen. Wenn jedoch keine besten Übereinstimmungen gesucht werden, wird es als letztes Ergebnis verwendet.
Beispiel
Im folgenden Standortblock wird es mit allen Anfragen übereinstimmen:
2. Abgleichen des Verzeichnisses mit dem Standortblock in Nginx
Das folgende Beispiel entspricht jeder Anfrage im Standortblock, die mit /images/ beginnt. Folglich wird nach einem spezifischeren übereinstimmenden Block für den angeforderten URI gesucht. Wenn Nginx jedoch nicht nach einer genaueren Übereinstimmung sucht, wird der Standortblock direkt ausgewählt.
Beispiel
Im folgenden Beispiel stimmt Nginx mit jeder Anfrage im Standortblock überein, die mit /images/ beginnt.
3. Genaue Übereinstimmung mit '=' (gleich) Standort-Modifikator
Das Gleichheitszeichen '=' wird verwendet, wenn Sie den Standortblock genau mit einem angeforderten URI abgleichen match.
Beispiel
Nginx versucht zuerst, die spezifischsten Präfixstandorte abzugleichen. Im folgenden Beispiel entspricht der Modifikator '=' im Standortblock jedoch genau dem angeforderten Präfixpfad und stoppt dann die Suche nach besseren Übereinstimmungen.
…
Im oben genannten Beispiel für einen Standortblock stimmt der Standortmodifikator '=' genau mit der URL mydomain überein.com/imgs. Die URLs 'mydomain/imgs/index.html' oder 'mydomain/imgs/' entsprechen nicht der Bedingung.
4. Groß-/Kleinschreibung bei Regex-Übereinstimmung mit dem Modifikator Tilda (~)
Der Modifikator tilda (~) führt die Suche nach Übereinstimmungen mit regulären Ausdrücken unter Beachtung der Groß-/Kleinschreibung für den angeforderten URI durch und sucht kontinuierlich nach einer besseren Übereinstimmung.
Beispiel
Der Modifikator ~ im folgenden Beispiel führt die Übereinstimmung mit Groß-/Kleinschreibung (regulärer Ausdruck) im Standortblock durch:
…
5. Übereinstimmung zwischen Groß- und Kleinschreibung mit dem Modifikator Tilda (~*)
Das Tilde-Zeichen mit einem Asterisk (~*)-Modifikator stimmt mit jeder (Groß-/Kleinschreibung nicht zu unterscheidenden) Anfrage im nächsten Standortblock überein, die mit einem bestimmten Dateiformat endet, z. B. Dateiendung mit png, gif,ico, jpeg, jpg, css oder js j. Alle Anfragen, die an den /imgs/-Ordner gesendet werden, werden jedoch vom vorherigen Standortblock unterstützt.
Beispiel
Im folgenden Speicherortblock werden alle Dateitypen berücksichtigt, bei denen die Groß-/Kleinschreibung nicht beachtet wird.
…
6. Caret-Tilde-Zeichen (^~) Modifikator für RegEx Match
Der Modifikator caret-tilda (^~) wird verwendet, um den Abgleich mit regulären Ausdrücken unter Beachtung der Groß-/Kleinschreibung mit der angeforderten URL durchzuführen. Wenn daher die übereinstimmende URI in /imgs oder /imgs/pico.png wird die Suche beendet, um eine bessere Übereinstimmung zu finden.
Standort ^~ /imgs…
Fazit
Wir haben mit regex ein paar Beispiele und wichtige Details zur Nginx-Standortrichtlinie besprochen. Wir haben in diesem Artikel auch die Verwendung von Modifikatoren mit Beispielen erwähnt. Ich hoffe, dieser Artikel wird Ihnen helfen, das Hauptkonzept der Standortblöcke in NGINX zu verstehen. Vielen Dank!