V tomto článku si v krátkosti podrobne vysvetlíme príklady lokalizačných regulárnych výrazov Nginx.
Predpoklady
V tomto článku sa predpokladá, že Nginx je už vo vašom systéme nainštalovaný.
Syntax smernice o umiestnení Nginx
Nasledujúca syntax je k dispozícii pre adresár umiestnenia v konfiguračnom súbore Nginx:
umiestnenie [modifikátor] [zhoda URL]…
Blok umiestnenia Nginx je možné pridať do bloku servera alebo na iné miesto za určitých preddefinovaných podmienok. Vo vyššie uvedenej syntaxi je modifikátor voliteľný parameter. Prítomnosť modifikátorov v bloku umiestnenia umožňuje spoločnosti Nginx narábať s adresou URL v inom poradí. Tu je spomenutých niekoľko modifikátorov s niektorými príkladmi:
1. Zhoda všetkých požiadaviek s blokom umiestnenia Nginx
Znak „/“ sa používa na umiestnenie predvoľby, aby zodpovedal všetkým požiadavkám. Ak však nebudú vyhľadané najlepšie zhody, použije sa ako posledný výsledok.
Príklad
V nasledujúcom bloku umiestnenia bude vyhovovať všetkým požiadavkám:
2. Priraďte adresár pomocou bloku umiestnenia v Nginx
Nasledujúci príklad sa bude zhodovať s akoukoľvek požiadavkou v bloku umiestnenia, ktorá začína s / images /. Následne hľadanie konkrétnejšieho uzavretého bloku proti požadovanému URI. Ak však Nginx nehľadá konkrétnejšiu zhodu, bude blok umiestnenia vybraný priamo.
Príklad
V príklade uvedenom nižšie Nginx porovná každú požiadavku v bloku umiestnenia, ktorá začína na / images /.
3. Presná zhoda pomocou modifikátora umiestnenia „=“ (rovná sa)
Modifikátor '=' znamienko rovnosti sa používa, keď presne zodpovedáte bloku umiestnenia požadovanému identifikátoru URI.
Príklad
Nginx sa najskôr snaží nájsť zhodu s najkonkrétnejšími predponami. V nasledujúcom príklade sa však modifikátor '=' v bloku umiestnenia bude presne zhodovať s požadovanou cestou prefixu a potom prestane hľadať lepšie zhody.
…
Vo vyššie uvedenom príklade bloku umiestnenia sa modifikátor umiestnenia „=“ bude presne zhodovať s adresou URL moja doména.com / obr. Adresy URL „mydomain / imgs / index“.html 'alebo' mydomain / imgs / 'nebude zodpovedať podmienke.
4. Zhoda veľkých a malých písmen v regulárnom výraze pomocou modifikátora Tilda (~)
Modifikátor tilda (~) vykonáva vyhľadávanie zhôd regulárnych výrazov s ohľadom na veľké a malé písmená proti požadovanému identifikátoru URI a neustále vyhľadáva lepšiu zhodu.
Príklad
Modifikátor ~ v nasledujúcom príklade vykonáva zhodu veľkých a veľkých písmen v regulárnom výraze (regulárny výraz) v bloku umiestnenia:
…
5. Zhoda s malými a veľkými písmenami pomocou modifikátora tilda (~ *)
Znamienko vlnovky s modifikátorom hviezdičkou (~ *) sa zhoduje s akoukoľvek požiadavkou (bez rozlišovania malých a veľkých písmen) v nasledujúcom bloku umiestnenia, ktorá končí špecifickým formátom súboru, ako je napríklad súbor končiaci na png, gif, ico, jpeg, jpg, css alebo js. Všetky žiadosti, ktoré sa odošlú do priečinka / imgs /, sa však budú zabávať predchádzajúcim blokom umiestnenia.
Príklad
V nasledujúcom bloku umiestnenia sa bude zhodovať so všetkými typmi súborov, v ktorých sa nerozlišujú malé a veľké písmená.
…
6. Modifikátor Caret-Tilde Sign (^ ~) pre RegEx Match
Modifikátor caret-tilda (^ ~) sa používa na vykonanie zhody regulárneho výrazu s malými a veľkými písmenami proti požadovanej adrese URL. Preto, ak sa zhodujúci URI bude zhodovať v / imgs alebo / imgs / pico.png, prestane hľadať, aby našiel lepšiu zhodu.
umiestnenie ^ ~ / obrázky…
Záver
Diskutovali sme o niekoľkých príkladoch a dôležitých podrobnostiach o direktíve umiestnenia Nginx pomocou regulárneho výrazu. V tomto článku sme tiež spomenuli použitie modifikátorov s príkladmi. Dúfam, že vám tento článok pomôže pochopiť hlavný koncept blokov umiestnenia v NGINX. Vďaka!