Nginx

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

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

Мы кратко объясним примеры регулярных выражений местоположения Nginx в этой статье.

Предпосылки

В этой статье предполагается, что Nginx уже установлен в вашей системе.

Синтаксис директивы Nginx location

Для каталога расположения в файле конфигурации 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. Соответствие Regex с учетом регистра с использованием модификатора Tilda (~)

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

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

location ~ / imgs

5. Соответствие без учета регистра с использованием модификатора tilda (~ *)

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

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

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

6. Модификатор знака каретки и тильды (^ ~) для совпадения с регулярным выражением

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

location ^ ~ / imgs

Заключение

Мы обсудили несколько примеров и важные детали о директиве Nginx location с регулярным выражением. Мы также упомянули использование модификаторов с примерами в этой статье. Надеюсь, эта статья поможет вам понять основную концепцию блоков локации в NGINX. Спасибо!

Игры HD Remastered для Linux, ранее не выпускавшиеся для Linux
Многие разработчики и издатели игр придумывают HD-ремастеры старых игр, чтобы продлить жизнь франшизы, порадовать фанатов, требующих совместимости с с...
Как использовать AutoKey для автоматизации игр под Linux
AutoKey - это утилита автоматизации рабочего стола для Linux и X11, запрограммированная на Python 3, GTK и Qt. Используя его функции сценариев и MACRO...
Как показать счетчик FPS в играх для Linux
Игры для Linux получили серьезный толчок, когда Valve объявила о поддержке Linux для клиента Steam и своих игр в 2012 году. С тех пор многие игры AAA ...