Nginx Standort Regex Beispiele

Nginx Standort Regex Beispiele
Die Nginx -Standortanweisung ermöglicht Routing -Anforderungen an einen bestimmten Speicherort im Dateisystem. Während Nginx einen Standortblock mit der angeforderten URL übereinstimmt oder durchsucht, teilt die Standortanweisung mit.

Wir werden den Nginx -Standort Regex -Beispiele in diesem Artikel kurz ausführlich erläutern.

Voraussetzungen

In diesem Artikel wird angenommen, dass Nginx bereits in Ihrem System installiert ist.

Nginx Standortanweisung Syntax

Die folgende Syntax ist für das Standortverzeichnis in der NGINX -Konfigurationsdatei verfügbar:

Standort [Modifikator] [URL-Match]

Der Nginx -Standortblock kann in einem Serverblock oder an einem anderen Ort 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 unten nur wenige Modifikatoren mit einigen Beispielen erwähnt:

Übereinstimmung mit allen Anforderungen mit dem Nginx -Standortblock

Das '/' wird für den Präfixort verwendet, um alle Anfragen zu entsprechen. Wenn jedoch keine besten Übereinstimmungen durchsucht werden, wird es als letztes Ergebnis verwendet.

Beispiel
Im folgenden Standortblock stimmt es mit allen Anfragen überein:

Standort /

Übereinstimmung des Verzeichnisses mit dem Standortblock in nginx übereinstimmen

Das folgende Beispiel entspricht jeder Anforderung im Standortblock, der mit /bildern /startet /startet /. Infolgedessen suchen Sie nach einem spezifischeren übereinstimmenden Block gegen die angeforderte URI. Wenn Nginx jedoch nicht nach einer spezifischeren Übereinstimmung sucht, wird der Standortblock direkt ausgewählt.

Beispiel
Im folgenden Beispiel entspricht NginX eine beliebige Anforderung im Standortblock, der mit /Bildern beginnt /startet /.

Ort / Bilder /

Übereinstimmen genau mit '=' (gleich) Standortmodifikator

Der Modifikator '=' gleiches Zeichen wird verwendet, wenn Sie genau mit dem Standortblock mit einem angeforderten URI übereinstimmen.

Beispiel
Nginx versucht zunächst, den spezifischsten Präfixorten zu entsprechen. Im folgenden Beispiel entspricht der Modifikator von '=' im Standortblock jedoch genau mit dem angeforderten Präfix -Pfad und hören Sie dann auf, nach besseren Übereinstimmungen zu suchen.

location = /imgs

Im oben genannten Beispiel-Block-Beispiel stimmt der Standortmodifikator '=' genau mit der URL Mydomain überein.com/imgs. Mydomain/IMGS/Index der URLs.html 'oder' mydomain/iMGS/'entspricht nicht dem Zustand.

Fallempfindlicher Regex -Übereinstimmung mit Tilda (~) Modifikator

Der Tilda (~) -Modifikator führt die sensible regelmäßige Ausdrucksuche mit dem angeforderten URI durch und sucht kontinuierlich nach einer besseren Übereinstimmung.

Beispiel
Der ~ -Modifikator im folgenden Beispiel führt die Fall-sensitive Regex-Übereinstimmung (regulärer Ausdruck) im Standortblock aus:

Ort ~ /imgs

Fallunempfindlicher Übereinstimmung mit Tilda (~*) Modifikator

Das Tilde-Zeichen mit einem Sternchen (~*) -Modifikator entspricht einer beliebigen (Fall-unempfindlichen) Anforderung im nächsten Speicherblock, der mit einem bestimmten Dateiformat endet. Alle Anfragen, die an / IMGS / Ordner senden, werden jedoch vom vorherigen Standortblock unterhalten.

Beispiel
Im folgenden Standortblock stimmt es mit allen von Fall unempfindlichen Dateitypen überein.

Ort ~* .(png | ico | gif | jpg | jpeg | css | js) $

Pfarrerzeichen (^~) Modifikator für Regex-Match

Die Modifikator Caret-Tilda (^~) wird verwendet. Wenn der passende URI daher in /IMGS oder /IMGS /Pico abgestimmt wird.PNG, es hört auf, zu suchen, um eine bessere Übereinstimmung zu finden.

Ort ^~ /imgs

Abschluss

Wir haben einige Beispiele und wichtige Details zur Nginx -Standortanweisung mit Regex erörtert. Wir haben auch die Verwendung von Modifikatoren mit Beispielen in diesem Artikel erwähnt. Ich hoffe, dieser Artikel hilft Ihnen, das Hauptkonzept der Standortblöcke in Nginx zu verstehen. Danke!