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:
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 /.
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.
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:
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.
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 ^~ /imgsKonklusjon
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!