Nginx

Примери за регулярни изрази за местоположение на Nginx

Примери за регулярни изрази за местоположение на Nginx
Директивата за местоположението на Nginx позволява маршрутизиране на заявки до определено място във файловата система. Докато Nginx съвпада или търси блок за местоположение спрямо заявения URL адрес, директивата за местоположение казва на Nginx къде да търси определен път, като включва всички файлове и директории.

В тази статия ще обясним накратко примери за регулярни изрази за местоположение на Nginx.

Предпоставки

В тази статия се предполага, че Nginx вече е инсталиран на вашата система.

Синтаксис на директивата за местоположението на Nginx

Следният синтаксис е достъпен за директорията за местоположение в конфигурационния файл на Nginx:

местоположение [модификатор] [URL-match]
..

Блокът за местоположение на Nginx може да бъде добавен в сървърен блок или на друго място с някои предварително определени условия. В горния синтаксис модификаторът е незадължителен параметър. Наличието на модификатори в блока за местоположение позволява на Nginx да се справя с URL в различен ред. Тук по-долу са споменати няколко модификатора с някои примери:

1. Съвпадение на всички заявки с блок за местоположение на Nginx

'/' Се използва за местоположението на префикса, за да съответства на всички заявки. Ако обаче не се търсят най-добри съвпадения, то ще се използва като последен резултат.

Пример
В следния блок за местоположение той ще отговаря на всички заявки:

местоположение /

2. Съвпадение на директория, използвайки блок за местоположение в Nginx

Следващият пример ще съответства на всяка заявка в блока за местоположение, който започва с / images /. Следователно, търсене на по-специфичен съвпадащ блок срещу заявения URI. Ако обаче Nginx не търси по-конкретно съвпадение, тогава блокът за местоположение ще бъде избран директно.

Пример
В дадения по-долу пример Nginx ще съответства на всяка заявка в блока за местоположение, който започва с / images /.

местоположение / изображения /

3. Точно съвпадение, използвайки '=' (равно на) модификатор на местоположение

Модификаторът '=' знак за равенство се използва, когато точно съвпадате с блока за местоположение с поискания URI.

Пример
Nginx първо се опитва да съответства на най-специфичните местоположения на префикса. В следващия пример обаче модификаторът '=' в блока за местоположение ще съвпада точно със заявения префикс и след това ще спре да търси по-добри съвпадения.

местоположение = / imgs
..

В гореспоменатия пример за блок за местоположение, модификаторът на местоположението '=' ще съвпада точно с URL адреса mydomain.com / imgs. Mydomain / imgs / index на URL адресите.html 'или' mydomain / imgs / 'няма да отговарят на условието.

4. Регулярно съвпадение на регистрите, използващо модификатор Tilda (~)

Модификаторът tilda (~) извършва търсене на съвпадение на регулярния израз с изключение на заявения URI и непрекъснато търси по-добро съвпадение.

Пример
Модификаторът ~ в следния пример изпълнява регистър на регистъра с разбивка на малки букви (регулярния израз) в блока за местоположение:

местоположение ~ / imgs
..

5. Несъвместимо с малки и малки букви, използващо модификатор tilda (~ *)

Знакът тилда с модификатор със звездичка (~ *) съвпада с която и да е (без регистрация) заявка в следващия блок за местоположение, който завършва със специфичен файлов формат, като файл, завършващ с png, gif, ico, jpeg, jpg, css или js. Всички заявки, изпратени до папката / imgs /, ще бъдат развлечени от предишния блок за местоположение.

Пример
В следващия блок за местоположение той ще съответства на всички типове файлове без регистра.

местоположение ~ * .(png | ico | gif | jpg | jpeg | css | js) $
..

6. Модификатор Caret-Tilde Sign (^ ~) за RegEx Match

Модификаторът caret-tilda (^ ~) се използва за извършване на чувствително към регистъра съвпадение на регулярния израз срещу заявения URL адрес. Следователно, ако съвпадащият URI ще бъде съчетан в / imgs или / imgs / pico.png, спира да търси, за да намери по-добро съвпадение.

местоположение ^ ~ / imgs
..

Заключение

Обсъдихме няколко примера и важни подробности за директивата за местоположението на Nginx с регулярни изрази. Също така споменахме използването на модификатори с примери в тази статия. Надявам се тази статия да ви помогне да разберете основната концепция на блоковете за местоположение в NGINX. Благодаря!

Полезни инструменти за геймърите на Linux
Ако искате да играете игри на Linux, има вероятност да сте използвали приложения и помощни програми като Wine, Lutris и OBS Studio, за да подобрите иг...
HD Remastered Games за Linux, които никога преди не са имали издание на Linux
Много разработчици и издатели на игри излизат с HD ремастер на стари игри, за да удължат живота на франчайза, моля феновете, които искат съвместимост ...
Как да използвам AutoKey за автоматизиране на Linux игри
AutoKey е програма за автоматизация на настолни компютри за Linux и X11, програмирана в Python 3, GTK и Qt. Използвайки неговата функционалност за скр...