V tomto článku stručně vysvětlíme příklady regexů umístění Nginx.
Předpoklady
V tomto článku se předpokládá, že Nginx je ve vašem systému již nainstalován.
Syntaxe direktivy umístění Nginx
V adresáři umístění v konfiguračním souboru Nginx je k dispozici následující syntaxe:
umístění [modifikátor] [shoda URL]…
Blok umístění Nginx lze přidat do bloku serveru nebo na jiné místo za určitých předdefinovaných podmínek. Ve výše uvedené syntaxi je modifikátor volitelným parametrem. Přítomnost modifikátorů v bloku umístění umožňuje Nginxu vypořádat se s URL v jiném pořadí. Zde je uvedeno několik modifikátorů s několika příklady:
1. Spárování všech požadavků s blokem umístění Nginx
Znak „/“ se používá pro umístění předpony, aby odpovídal všem požadavkům. Pokud se však neprohledají žádné nejlepší shody, použije se jako poslední výsledek.
Příklad
V následujícím bloku umístění bude odpovídat všem požadavkům:
2. Přiřazení adresáře pomocí bloku umístění v Nginx
Následující příklad bude odpovídat jakémukoli požadavku v bloku umístění, který začíná / images /. V důsledku toho hledání konkrétnějšího shodného bloku s požadovaným identifikátorem URI. Pokud však Nginx nehledá konkrétnější shodu, pak bude blok umístění vybrán přímo.
Příklad
V níže uvedeném příkladu bude Nginx odpovídat jakémukoli požadavku v bloku umístění, který začíná / images /.
3. Přesná shoda pomocí '=' (rovná se) modifikátoru umístění
Modifikátor '=' znaménko rovná se používá, když přesně odpovídáte bloku umístění s požadovaným identifikátorem URI.
Příklad
Nginx se nejprve pokusí porovnat nejkonkrétnější umístění předpony. V následujícím příkladu však bude modifikátor '=' v bloku umístění přesně odpovídat požadované cestě předpony a poté přestane hledat lepší shody.
…
Ve výše uvedeném příkladu bloku umístění se modifikátor umístění '=' bude přesně shodovat s adresou URL moje doména.com / obrázky. Mydomain / imgs / index URL.html 'nebo' mydomain / imgs / 'nebude odpovídat podmínce.
4. Shoda Regex rozlišuje malá a velká písmena pomocí modifikátoru Tilda (~)
Modifikátor tilda (~) provádí vyhledávání shody regulárních výrazů s rozlišováním velkých a malých písmen proti požadovanému URI a neustále hledá lepší shodu.
Příklad
Modifikátor ~ v následujícím příkladu provádí shodu malých a velkých písmen v regulárním výrazu (regulární výraz) v bloku umístění:
…
5. Porovnání malých a velkých písmen pomocí modifikátoru tilda (~ *)
Znaménko tilda s modifikátorem hvězdičky (~ *) odpovídá jakémukoli požadavku (bez rozlišení malých a velkých písmen) v dalším bloku umístění, který končí specifickým formátem souboru, jako je soubor končící png, gif, ico, jpeg, jpg, css nebo js. Veškeré požadavky, které se odešlou do složky / imgs /, však předchozí blok umístění pobaví.
Příklad
V následujícím bloku umístění bude odpovídat všem typům souborů bez rozlišení velkých a malých písmen.
…
6. Modifikátor Caret-Tilde Sign (^ ~) pro RegEx Match
Modifikátor caret-tilda (^ ~) se používá k provedení shody regulárního výrazu s malými a velkými písmeny proti požadované adrese URL. Pokud se tedy odpovídající URI shoduje v / imgs nebo / imgs / pico.png, přestane hledat, aby našel lepší shodu.
umístění ^ ~ / obrázky…
Závěr
Diskutovali jsme o několika příkladech a důležitých podrobnostech o direktivě umístění Nginx s regexem. V tomto článku jsme také zmínili použití modifikátorů s příklady. Doufám, že vám tento článek pomůže pochopit hlavní koncept bloků umístění v NGINX. dík!