Синтаксис директиви location в Nginx
По-перше, важливо знати, що в залежності від URI, який ви обробляєте, можуть бути застосовані різні конфігурації, ви можете використовувати символьні рядки, а також регулярні вирази, як вам завгодно.
Директива Location з регулярними виразами
Для того щоб використовувати регулярні вирази, необхідно завжди використовувати префікс:
повинен використовуватися для відповідності з урахуванням регістру* Повинен використовуватися для відповідності без урахування регістру
Якщо точний збіг з регулярним виразом не потрібно, тоді вказується регулярний вираз, призначений порожньому блоку, а інша частина запитів може бути порівняна з використанням розташування /.
Nginx має можливість декодувати URI, в реальному часі. Наприклад, для того, щоб знайти відповідності "/ app /% 20 / images" ви можете використовувати "/ app / / images" для визначення місця розташування.
Location і символьні рядки
Префікс = означає точну відповідність між URI-запиту і параметром місцезнаходження. Коли це відбувається, пошук відразу ж припиняється. Якщо ви бачите, що ваш додаток часто звертається із запитом "/", краще використовувати символьний рядок, наприклад, "location = /", це прискорить обробку цього запиту.
Приклади директиви Location
Реальні приклади директив location
Використання директиви Location для Anti-hotlinking *:
Інший приклад, в якому забороняється доступ до виконання скриптів з записуваних каталогів:
Використання Location щоб включити autoindex ** в nginx:
Якщо ви хочете більше дізнатися про директиву Location в nginx, можете прочитати офіційну документацію.
- * Anti-hotlinking - захист файлів вашого сайту від прямого доступу з інших сайтів або сервісів.
- ** Autoindex - це функція, яка включає лістинг директорій по http, засобами веб-сервера (звичайно, якщо в директорії немає справжнього index-файлу).