Nginx

Voorbeelden van Nginx-locatieregex

Voorbeelden van Nginx-locatieregex
Nginx Location-richtlijn maakt routeringsverzoeken naar een bepaalde locatie in het bestandssysteem mogelijk. Terwijl Nginx een locatieblok vergelijkt met of zoekt naar de gevraagde URL, vertelt de locatierichtlijn de Nginx waar naar een specifiek pad moet worden gezocht door alle bestanden en mappen op te nemen.

In dit artikel zullen we Nginx-locatieregexvoorbeelden in het kort uitleggen.

Vereisten

In dit artikel wordt aangenomen dat Nginx al op je systeem is geïnstalleerd.

Nginx locatie-richtlijn syntaxis directive

De volgende syntaxis is beschikbaar voor de locatiemap in het Nginx-configuratiebestand:

locatie [modifier] [URL-overeenkomst]

Het Nginx-locatieblok kan worden toegevoegd in een serverblok of op een andere locatie met een aantal vooraf gedefinieerde voorwaarden. In de bovenstaande syntaxis is de modifier een optionele parameter. Door de aanwezigheid van modifiers in het locatieblok kan Nginx een URL in een andere volgorde afhandelen. Hier worden enkele modifiers hieronder genoemd met enkele voorbeelden:

1. Alle verzoeken overeenkomen met Nginx-locatieblok

De '/' wordt gebruikt voor de locatie van het voorvoegsel om aan alle verzoeken te voldoen. Als er echter geen beste overeenkomsten worden gezocht, wordt dit als laatste resultaat gebruikt.

Voorbeeld
In het volgende locatieblok komt het overeen met alle verzoeken:

plaats /

2. Match directory met behulp van locatieblok in Nginx

Het volgende voorbeeld komt overeen met elk verzoek in het locatieblok dat begint met /images/. Bijgevolg zoeken naar een specifieker overeenkomend blok tegen de gevraagde URI. Als Nginx echter niet naar een specifiekere overeenkomst zoekt, wordt het locatieblok direct geselecteerd.

Voorbeeld
In het onderstaande voorbeeld zal Nginx elk verzoek matchen in het locatieblok dat begint met /images/.

locatie /afbeeldingen/

3. Komt exact overeen met '=' (gelijk aan) locatiemodifier

De modifier '=' gelijkteken wordt gebruikt wanneer u exact overeenkomt met het locatieblok met een gevraagde URI.

Voorbeeld
Nginx probeert eerst de meest specifieke prefix-locaties te matchen. In het volgende voorbeeld komt de '='-modifier in het locatieblok echter exact overeen met het gevraagde prefixpad en stopt dan met zoeken naar betere overeenkomsten.

locatie = /imgs

In het bovengenoemde voorbeeld van een locatieblok komt de locatiemodifier '=' exact overeen met de URL mijndomeindo.com/imgs. De URL's 'mijndomein/imgs/index'.html' of 'mijndomein/imgs/' komen niet overeen met de voorwaarde.

4. Hoofdlettergevoelige Regex-overeenkomst met Tilda (~)-modifier

De tilda-modifier (~) voert de hoofdlettergevoelige zoekactie voor reguliere expressies uit tegen de gevraagde URI en zoekt continu naar een betere overeenkomst.

Voorbeeld
De ~-modifier in het volgende voorbeeld voert de hoofdlettergevoelige regex-overeenkomst (reguliere expressie) uit in het locatieblok:

locatie ~ /imgs

5. Hoofdletterongevoelige overeenkomst met behulp van tilda (~*) modifier

Het tilde-teken met een asterisk (~*)-modifier komt overeen met elk (hoofdletterongevoelig) verzoek in het volgende locatieblok dat eindigt met een specifiek bestandsformaat, zoals een bestand dat eindigt op png, gif,ico, jpeg, jpg, css of js. Alle verzoeken die naar de /imgs/-map worden verzonden, worden echter vermaakt door het vorige locatieblok.

Voorbeeld
In het volgende locatieblok komt het overeen met alle hoofdletterongevoelige bestandstypen.

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

6. Caret-Tilde Sign (^~) modifier voor RegEx Match

De modifier caret-tilda (^~) wordt gebruikt om de hoofdlettergevoelige reguliere expressie-overeenkomst uit te voeren met de gevraagde URL. Daarom, als de overeenkomende URI overeenkomt in de /imgs of /imgs/pico.png, stopt het zoeken om een ​​betere match te vinden.

locatie ^~ /imgs

Conclusie

We hebben een paar voorbeelden en belangrijke details over de Nginx-locatierichtlijn besproken met regex. We hebben in dit artikel ook het gebruik van modifiers met voorbeelden genoemd. Ik hoop dat dit artikel je zal helpen het hoofdconcept van de locatieblokken in NGINX te begrijpen. Bedankt!

Strijd om Wesnoth Zelfstudie
The Battle for Wesnoth is een van de meest populaire open source strategiespellen die je op dit moment kunt spelen. Dit spel is niet alleen al heel la...
0 A.D. zelfstudie
Van de vele strategiespellen die er zijn, 0 A.D. slaagt erin om op te vallen als een uitgebreide titel en een zeer diep, tactisch spel ondanks dat het...
Unity3D-zelfstudie
Inleiding tot Unity 3D Unity 3D is een krachtige game-ontwikkelingsengine. Het is platformoverschrijdend, zodat je games voor mobiel, internet, deskto...