Nginx

Приклади регулярних виразів розташування Nginx

Приклади регулярних виразів розташування Nginx
Директива Nginx Location дозволяє маршрутизувати запити до певного місця у файловій системі. Поки Nginx узгоджує або шукає блок розташування із запитуваною URL-адресою, директива location визначає Nginx, де шукати певний шлях, включаючи всі файли та каталоги.

У цій статті ми коротко пояснимо приклади регулярних виразів розташування Nginx.

Передумови

У цій статті передбачається, що Nginx вже встановлений у вашій системі.

Синтаксис директиви про розташування Nginx

Наступний синтаксис доступний для каталогу розташування у файлі конфігурації Nginx:

місцезнаходження [модифікатор] [відповідність URL]
..

Блок розташування Nginx можна додати в серверний блок або в інше місце з деякими заздалегідь визначеними умовами. У наведеному вище синтаксисі модифікатор є необов’язковим параметром. Наявність модифікаторів у блоці розташування дозволяє Nginx обробляти URL-адреси в іншому порядку. Нижче наведено декілька модифікаторів із прикладами:

1. Відповідність усіх запитів блоку розташування Nginx

'/' Використовується для розташування префікса, щоб відповідати всім запитам. Однак, якщо тоді не буде здійснено пошук найкращих збігів, він буде використаний як останній результат.

Приклад
У наступному блоці розташування він буде відповідати всім запитам:

Розташування /

2. Знайдіть каталог за допомогою блоку розташування в Nginx

Наступний приклад буде відповідати будь-якому запиту в блоці розташування, який починається з / images /. Отже, пошук більш конкретного відповідного блоку щодо запитуваного URI. Однак, якщо Nginx не шукає більш конкретного збігу, тоді блок розташування буде обраний безпосередньо.

Приклад
У наведеному нижче прикладі Nginx буде відповідати будь-якому запиту в блоці розташування, який починається з / images /.

location / images /

3. Точно збігається за допомогою модифікатора розташування '=' (дорівнює)

Модифікатор '=' знак рівності використовується, коли ви точно відповідаєте блоку розташування із запитаним URI.

Приклад
Nginx спочатку намагається відповідати найбільш конкретним місцеположенням префіксів. Однак у наступному прикладі модифікатор '=' у блоці розташування точно відповідатиме запитаному шляху префіксу, а потім припинить пошук кращих збігів.

location = / imgs
..

У вищезазначеному прикладі блоку розташування модифікатор розташування '=' точно відповідатиме URL-адресу mydomain.com / imgs. URL-адреси mydomain / imgs / index.html 'або' mydomain / imgs / 'не буде відповідати умові.

4. Регулярний вираз з урахуванням регістру відповідає модифікатору Tilda (~)

Модифікатор tilda (~) виконує пошук відповідності регулярних виразів з урахуванням регістру щодо запитуваного URI і постійно шукає кращу відповідність.

Приклад
Модифікатор ~ у наступному прикладі виконує збіг регулярних виразів з урахуванням регістру (регулярний вираз) у блоці розташування:

location ~ / imgs
..

5. Нечутливий до регістру збіг із використанням модифікатора tilda (~ *)

Знак тильди із модифікатором зірочки (~ *) відповідає будь-якому (без урахування регістру) запиту в наступному блоці розташування, який закінчується певним форматом файлу, таким як файл, що закінчується png, gif, ico, jpeg, jpg, css або js. Однак усі запити, що надсилаються до папки / imgs /, будуть розглянуті попереднім блоком розташування.

Приклад
У наступному блоці розташування він буде відповідати всім типам файлів, що не враховують регістр.

розташування ~ * .(png | ico | gif | jpg | jpeg | css | js) $
..

6. Модифікатор знаку Карет-Тильди (^ ~) для RegEx Match

Модифікатор caret-tilda (^ ~) використовується для виконання збігу регулярних виразів з урахуванням регістру щодо запитуваної URL-адреси. Отже, якщо відповідний URI буде збігатися в / imgs або / imgs / pico.png, він припиняє пошук, щоб знайти кращий збіг.

розташування ^ ~ / imgs
..

Висновок

Ми обговорили кілька прикладів та важливі деталі щодо директиви про розташування Nginx разом із регулярним виразом. Ми також згадали про використання модифікаторів на прикладах у цій статті. Сподіваюся, ця стаття допоможе вам зрозуміти основну концепцію блоків розташування в NGINX. Дякую!

Middle mouse button not working in Windows 10
The middle mouse button helps you scroll through long webpages and screens with a lot of data. If that stops, well you will end up using the keyboard ...
How to change Left & Right mouse buttons on Windows 10 PC
It's quite a norm that all computer mouse devices are ergonomically designed for right-handed users. But there are mouse devices available which are s...
Emulate Mouse clicks by hovering using Clickless Mouse in Windows 10
Using a mouse or keyboard in the wrong posture of excessive usage can result in a lot of health issues, including strain, carpal tunnel syndrome, and ...