Деректіва nginx - location з прикладами
Директива location служить для установки конфігурації в залежності від URI-запиту. Синтаксис location в загальному вигляді наступний:
Перед тим, як перейти до більш детального вивчення, потрібно зауважити, що location визначається в контексті server (або в location в разі вкладеної директиви), і в одному розширеному віртуальному хості можуть використовуватися різні конфігурації в залежності від оброблюваного сервером URI.
Префікс «@» ( «собака») визначає іменовані розташування. Такі location'и не використовуються для обробки звичайних запитів. Замість цього вони використовуються для перенаправлення запитів (приклад №6). Вони не можуть бути вкладеними і містити в собі вкладені.
- = Строкові збіги. Якщо знайдено, перевірка закінчується. = Значить повний збіг шаблона і перевіряється рядки, наприклад = / - захід у секцію буде виключно для кореня, і навіть файли в корені вже сюди не підходять.
- ^
Пріоритетне значення рядка. Хоча по-моєму було б правильніше назвати «пріоритетним регулярним виразом», оскільки на відміну від = потрібно збіг тільки почала. ^
/ Повністю відключить регулярні вирази для секції server, якщо немає більш точного location без ^
* Регулярні вирази, в порядку визначення в конфіги. При збігу - виконується цей регексп, перевірка закінчується.
- з урахуванням регістра,
* - без.Приклади використання location
Приклад конфігурації №1. Для кореневого URI «/»
Приклад конфігурації №2. базовий location
Приклад конфігурації №3. Для URI виду «/data/.*»
Приклад конфігурації №4. Для URI виду «/img/.*»
Приклад конфігурації №5. Для графічних форматів
Приклад конфігурації №6. іменований location
Приклад конфігурації №7. виділення змінної
Приклади реальних nginx location'ов
Anti-hotlinking
Директива location для Anti-hotlinking (боротьби з використанням ресурсів з вашого сервера на сторонніх ресурсах. Такий спосіб використання ваших мережевих ресурсів називається hotlinking). Така поведінка хитрих розробників може помітно збільшити навантаження на ваш сервер. конфігурація:
Заборона на скрипти всередині директорій
Наступний приклад - заборона на скрипти в дозволених для запису директоріях:
включення autoindex
У наступному прикладі location використовується для включення autoindex в nginx (Дозвіл на висновок лістингу каталогу):