U ovom ćemo članku ukratko objasniti primjere regularnih izraza lokacije Nginx.
Preduvjeti
U ovom se članku pretpostavlja da je Nginx već instaliran na vašem sustavu.
Sintaksa Nginx direktive o lokaciji
Sljedeća je sintaksa dostupna za direktorij lokacija u Nginx konfiguracijskoj datoteci:
lokacija [modifikator] [podudaranje URL-a]..
Blok lokacije Nginx može se dodati u blok poslužitelja ili na drugo mjesto uz neke unaprijed definirane uvjete. U gornjoj sintaksi modifikator je neobavezni parametar. Prisutnost modifikatora u bloku lokacije omogućuje Nginxu da se obrađuje s URL-om u drugom redoslijedu. Ovdje se u nastavku spominje nekoliko modifikatora s nekoliko primjera:
1. Usklađivanje svih zahtjeva s blokom lokacije Nginx
Znak '/' koristi se za mjesto prefiksa kako bi se podudarali sa svim zahtjevima. Međutim, ako se tada ne traže najbolje podudarnosti, to će se koristiti kao posljednji rezultat.
Primjer
U sljedećem bloku lokacije odgovarat će svim zahtjevima:
2. Uskladite direktorij pomoću bloka lokacije u Nginxu
Sljedeći će se primjer podudarati s bilo kojim zahtjevom u bloku lokacije koji započinje s / images /. Slijedom toga, traženje konkretnijeg podudarnog bloka u odnosu na traženi URI. Međutim, ako Nginx ne potraži preciznije podudaranje, blok lokacije bit će izravno odabran.
Primjer
U dolje navedenom primjeru, Nginx će odgovarati bilo kojem zahtjevu u bloku lokacije koji započinje s / images /.
3. Točno podudaranje pomoću '=' (jednako) modifikatoru lokacije
Modifikator '=' znak jednakosti koristi se kada točno podudarate blok lokacije sa zatraženim URI-jem.
Primjer
Nginx prvo pokušava podudarati s najpreciznijim mjestima prefiksa. Međutim, u sljedećem primjeru, modifikator '=' u bloku lokacije točno će se podudarati sa traženom stazom prefiksa, a zatim prestati tražiti bolja podudaranja.
..
U gore spomenutom primjeru bloka lokacije, modifikator lokacije '=' točno će se podudarati s URL mojom domenom.com / imgs. URL-ovi 'mydomain / imgs / index.html 'ili' mydomain / imgs / 'neće odgovarati uvjetu.
4. Reggeks s obzirom na velika i mala slova koristi se modifikatorom Tilda (~)
Modifikator tilda (~) izvodi pretragu podudaranja regularnih izraza s obzirom na velika i mala slova prema traženom URI-u i kontinuirano traži bolje podudaranje.
Primjer
Modifikator ~ u sljedećem primjeru izvodi podudaranje regularnog izraza koji razlikuje velika i mala slova (regularni izraz) u bloku lokacije:
..
5. Podudaranje bez velikih i malih slova pomoću modifikatora tilda (~ *)
Znak tilde s modifikatorom zvjezdice (~ *) podudara se s bilo kojim (neosjetljivim) zahtjevom u sljedećem bloku mjesta koji završava određenim formatom datoteke, poput datoteke koja završava s png, gif, ico, jpeg, jpg, css ili js. Međutim, svi zahtjevi koji se pošalju u mapu / imgs / bit će zabavljeni prethodnim blokom lokacije.
Primjer
U sljedećem bloku lokacije podudarat će se sa svim vrstama datoteka koje ne uključuju velika i mala slova.
..
6. Modifikator znaka Caret-Tilde (^ ~) za RegEx Match
Modifikator caret-tilda (^ ~) koristi se za izvođenje podudaranja regularnog izraza osjetljivog na velika i mala slova prema traženom URL-u. Stoga, ako se odgovarajući URI podudara u / imgs ili / imgs / pico.png, prestaje tragati za pronalaženjem boljeg podudaranja.
lokacija ^ ~ / imgs..
Zaključak
S regularnim izrazom razgovarali smo o nekoliko primjera i važnih detalja o Nginx direktivi o lokaciji. Također smo spomenuli upotrebu modifikatora s primjerima u ovom članku. Nadam se da će vam ovaj članak pomoći da razumijete glavni koncept blokova lokacija u NGINX-u. Hvala!