Vi vil forklare Nginx-placeringsregexeksempler i detaljer i denne artikel.
Forudsætninger
Det antages i denne artikel, at Nginx allerede er installeret på dit system.
Syntaks for Nginx-placeringsdirektiv
Følgende syntaks er tilgængelig for placeringsmappen i Nginx-konfigurationsfilen:
placering [modifikator] [URL-match]..
Nginx-placeringsblokken kan tilføjes i en serverblok eller på en anden placering med nogle foruddefinerede betingelser. I ovenstående syntaks er modifikatoren en valgfri parameter. Tilstedeværelsen af modifikatorer i placeringsblokken giver Nginx mulighed for at håndtere en URL i en anden rækkefølge. Her er nogle modifikatorer nævnt nedenfor med nogle eksempler:
1. Matcher alle anmodninger med Nginx-placeringsblok
'/' Bruges til placering af præfikset for at matche alle anmodninger. Men hvis der ikke søges efter de bedste match, vil det blive brugt som et sidste resultat.
Eksempel
I den følgende placeringsblok matcher den alle anmodninger:
2. Match bibliotek ved hjælp af placeringsblok i Nginx
Følgende eksempel vil matche enhver anmodning i placeringsblokken, der starter med / images /. Derfor søger du efter en mere specifik matchet blok mod den anmodede URI. Hvis Nginx ikke søger efter et mere specifikt match, vælges placeringsblokken direkte.
Eksempel
I nedenstående eksempel vil Nginx matche enhver anmodning i placeringsblokken, der starter med / images /.
3. Match nøjagtigt ved hjælp af '=' (lig med) placeringsmodifikator
Modifikatoren '=' lighedstegn bruges, når du nøjagtigt matcher placeringsblokken med en anmodet URI.
Eksempel
Nginx forsøger først at matche de mest specifikke præfiksplaceringer. I det følgende eksempel vil modificeringen '=' i placeringsblokken nøjagtigt matche den anmodede præfikssti og derefter stoppe med at søge efter bedre matches.
..
I det ovennævnte eksempel på placeringsblok vil placeringsmodifikatoren '=' nøjagtigt matche URL-domænet.com / imgs. URL'erne 'mitdomæne / imgs / index.html 'eller' mydomain / imgs / 'matcher ikke betingelsen.
4. Skift mellem store og små bogstaver Regex match ved hjælp af Tilda (~) modifikator
Tilda (~) -modifikatoren udfører sagsfølsom søgning efter regulært udtryk mod den anmodede URI og søger kontinuerligt efter et bedre match.
Eksempel
~ Modifikatoren i det følgende eksempel udfører det store og små bogstaver i regex (regulært udtryk) i placeringsblokken:
..
5. Skift mellem store og små bogstaver ved hjælp af tilda (~ *) modifikator
Tilde-tegnet med en stjerne (~ *) modifikator matcher enhver (skifteløs-følsom) anmodning i den næste placeringsblok, der slutter med et specifikt filformat, såsom fil, der slutter med png, gif, ico, jpeg, jpg, css eller js. Imidlertid vil enhver anmodning, der sendes til / imgs / mappen, blive underholdt af den forrige placeringsblok.
Eksempel
I den følgende placeringsblok matcher den alle store og små bogstaver.
..
6. Caret-Tilde Sign (^ ~) modifikator til RegEx Match
Modifikatoren caret-tilda (^ ~) bruges til at udføre det sagsfølsomme match med regulært udtryk mod den ønskede URL. Derfor, hvis den matchende URI matches i / imgs eller / imgs / pico.png, det holder op med at søge for at finde et bedre match.
placering ^ ~ / imgs..
Konklusion
Vi har diskuteret et par eksempler og vigtige detaljer om Nginx-placeringsdirektivet med regex. Vi har også nævnt brugen af modifikatorer med eksempler i denne artikel. Jeg håber, at denne artikel hjælper dig med at forstå hovedkonceptet med placeringsblokkene i NGINX. Tak!