


Was sind die URI-Abgleichsregeln der Nginx-Standortrichtlinie?
May 14, 2023 pm 11:58 PM1. Einführung
Die Standortanweisung ist die Kernkonfiguration im http-Modul. Sie empfängt Anfragen, die von Benutzern basierend auf vordefinierten URL-Matching-Regeln gesendet werden, und leitet die Anfragen basierend auf den Matching-Ergebnissen an den Backend-Server weiter. 403-, 404-, 500-Fehlerverarbeitung usw. direkt ablehnen und zurückgeben.
2. Syntax der Standortanweisung
location [=|~|~*|^~|@] /uri/ { … } oder location @name { … }
3 Die location-Direktive ist in zwei Matching-Modi unterteilt:
1> Gewöhnlicher String-Matching: Regeln beginnend mit = oder ohne führende Zeichen (~)
4. Standort-URI-Übereinstimmungsregeln
Wenn Nginx eine Anfrage erhält, fängt es den URI-Teil der Anfrage ab und sucht nach allen in der Standortanweisung definierten URI-Übereinstimmungsmustern. Im Servermodul können mehrere Standortanweisungen definiert werden, um unterschiedliche URL-Anfragen und die URI-Übereinstimmungsmuster mehrerer unterschiedlicher Standortkonfigurationen abzugleichen. Das allgemeine Übereinstimmungsprinzip lautet: Zuerst das normale Zeichenfolgenmuster abgleichen und dann das reguläre Muster abgleichen. Nur der URI-Teil wird erkannt. Die Anfrage lautet beispielsweise: /test/abc/user.do?name=xxxx
Nachdem eine Anfrage eingegangen ist, gleicht Nginx die Anfrage wie folgt ab:
1> ob es etwas gibt, das mit = Exakte Übereinstimmung beginnt, wie zum Beispiel: location = /test/abc/user.do { … }
2> Suchen Sie dann nach dem Prinzip der maximalen Präfixe Standorte, Letzteres wird abgeglichen
* Standort /test/ { … }
3> Nach dem Abgleich eines gemeinsamen Formats wird die Suche nicht beendet, sondern der aktuelle Abgleich wird vorübergehend gespeichert Ergebnisse und sucht weiterhin nach regulären Übereinstimmungsmustern.
4> Definierte Reihenfolge, normale Übereinstimmungsmuster jedoch nicht
5> Wenn keine reguläre Übereinstimmung gefunden wird, ist das zwischengespeicherte Ergebnis in 3 das endgültige Übereinstimmungsergebnis
6> Wenn keine Übereinstimmung gefunden wird, wird 404 zurückgegeben
5. Der Unterschied zwischen exaktem Matching und Fuzzy-Matching
* Ersteres ist ein exakter Match und antwortet nur auf /xxx- oder /xxx/xxxx-Anfragen wird nicht in Form eines Präfixes abgeglichen * Letzteres gilt: Solange der Anfrage ein / vorangestellt ist, wird sie abgeglichen. Zum Beispiel: /abc, /test/abc, /test/abc/aaaa
6. Regulärer und nicht regulärer Abgleich
1> Ort ~ /test/.+.jsp$ { … }: Regulärer Abgleich , unterstützte Standard-Syntax für reguläre Ausdrücke. 2> Ort ^~ / { … }: ^~ bedeutet, den regulären Abgleich zu deaktivieren. Wenn nach diesem gewöhnlichen Abgleichsmuster gesucht wird, wird nicht mehr nach dem regulären Abgleichsmuster gesucht.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
|
Das obige ist der detaillierte Inhalt vonWas sind die URI-Abgleichsregeln der Nginx-Standortrichtlinie?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

So erlauben Sie den externen Netzwerkzugriff auf den Tomcat-Server

Was sind die Start- und Stoppbefehle von Nginx?

Was sind die Unterschiede zwischen Tomcat und Nginx?

Willkommen bei Nginx! Wie kann ich es lösen?

So stellen Sie das NodeJS-Projekt auf dem Server bereit

So lösen Sie das Nginx-Problem beim Zugriff auf die Website
