Nginx beliggenhet regex eksempler

Nginx beliggenhet regex eksempler
Nginx Location Direktiv tillater rutingforespørsler til et bestemt sted i filsystemet. Mens Nginx samsvarer eller søker i en stedsblokk mot den forespurte URL -en, forteller Location Direktiv at Nginx skal søke etter en bestemt bane ved å inkludere alle filer og kataloger.

Vi vil forklare Nginx -lokasjonen Regex -eksempler i kort detalj i denne artikkelen.

Forutsetninger

Det antas i denne artikkelen at Nginx allerede er installert på systemet ditt.

Nginx Location Direktiv syntaks

Følgende syntaks er tilgjengelig for stedskatalogen i Nginx -konfigurasjonsfilen:

beliggenhet [modifiserer] [url-match]
..

Nginx -plasseringsblokken kan legges til i en serverblokk eller på et annet sted med noen forhåndsdefinerte forhold. I syntaks ovenfor er modifisereren en valgfri parameter. Tilstedeværelsen av modifikatorer i stedsblokken gjør at Nginx kan håndtere en URL i en annen rekkefølge. Her er få modifikatorer nevnt nedenfor med noen eksempler:

Matcher all forespørsel med Nginx -lokasjonsblokk

'/' Brukes til prefiksplassering for å matche alle forespørsler. Imidlertid, hvis ingen beste kamper blir søkt, vil det bli brukt som et siste resultat.

Eksempel
I følgende stedsblokk vil den samsvare med alle forespørsler:

plassering /

Match -katalogen ved hjelp av stedsblokk i Nginx

Følgende eksempel vil samsvare med enhver forespørsel i stedsblokken som starter med /bilder /. Følgelig å søke etter en mer spesifikk matchet blokk mot den forespurte URI. Imidlertid, hvis Nginx ikke søker etter en mer spesifikk kamp da, vil plasseringsblokken bli valgt direkte.

Eksempel
I det nedenfor gitt et eksempel, vil Nginx samsvare med enhver forespørsel i stedsblokken som starter med /bilder /.

Sted / bilder /

Nøyaktig samsvar med '=' (lik) stedsmodifiserer

Modifikatoren '=' like tegn brukes når du nøyaktig samsvarer med stedsblokken med en forespurt URI.

Eksempel
Nginx prøver først å matche de mest spesifikke prefiksstedene. I det følgende eksempel vil imidlertid '=' -modifisereren i stedsblokken nøyaktig samsvare med den forespurte prefiksstien og deretter slutte å søke etter bedre kamper.

sted = /imgs
..

I det ovennevnte stedsblokkeksemplet vil '=' stedsmodifiserer nøyaktig samsvare mot URL MyDomain.com/imgs. URLS 'MyDomain/IMGS/Index.html 'eller' mydomain/imgs/'vil ikke samsvare med tilstanden.

Case Sensitive Regex Match ved bruk av Tilda (~) Modifier

Tilda (~) -modifisereren utfører det saksfølsomme regulære uttrykkskampsøket mot den forespurte URI og søker kontinuerlig etter en bedre kamp.

Eksempel
~ Modifikatoren i følgende eksempel utfører den case-sensitive regex (vanlig uttrykk) -kamp i stedsblokken:

Plassering ~ /imgs
..

Case ufølsom kamp ved bruk av Tilda (~*) modifiserer

Tilde-tegnet med en stjerne (~*) modifiserer samsvarer med enhver (case ufølsom) forespørsel i neste stedsblokk som ender med et spesifikt filformat som fil som slutter med PNG, GIF, ICO, JPEG, JPG, CSS eller JS. Imidlertid vil eventuelle forespørsler som sendes til / IMGS / mappen bli underholdt av den forrige stedsblokken.

Eksempel
I følgende stedsblokk vil den samsvare med alle case-ufølsomme filtyper.

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

CARET-TILDE SIGN (^~) Modifikator for Regex-kamp

Modifier Caret-Tilda (^~) brukes til å utføre den saksfølsomme vanlige uttrykkskampen mot den forespurte URL-en. Derfor, hvis den matchende URI vil bli matchet i /imgs eller /imgs /pico.PNG, det slutter å søke å finne en bedre kamp.

Plassering ^~ /imgs
..

Konklusjon

Vi har diskutert noen få eksempler og viktige detaljer om Nginx -stedsdirektivet med REGEX. Vi har også nevnt bruken av modifikatorer med eksempler i denne artikkelen. Jeg håper denne artikkelen vil hjelpe deg å forstå hovedbegrepet med stedsblokkene i Nginx. Takk!