- https://nginx.org/ru/docs/http/ngx_http_core_module.html#location
- https://www.youtube.com/watch?v=7XJoCZ4wsoc
Не может иметь вложенные location’ы
location = / {}
Выбирается самый длинный и запоминается.
location /company/ {}
location /company/projects/ {}
location /company/projects/tasks/ {}
Если у совпавшего префиксного location’а максимальной длины указан модификатор ^~
, то регулярные выражения не проверяются.
Если location задан префиксной строкой со слэшом в конце и запросы обрабатываются при помощи proxy_pass
, fastcgi_pass
, uwsgi_pass
, scgi_pass
, memcached_pass
или grpc_pass
, происходит специальная обработка. В ответ на запрос с URI равным этой строке, но без завершающего слэша, будет возвращено постоянное перенаправление с кодом 301
на URI с добавленным в конец слэшом. Если такое поведение нежелательно, можно задать точное совпадение URI и location
, например:
location /user/ {
proxy_pass http://user.example.com;
}
location = /user {
proxy_pass http://login.example.com;
}
Проверяются регулярные выражения, в порядке их следования в конфигурационном файле. Проверка регулярных выражений прекращается после первого же совпадения, и используется соответствующая конфигурация. Если совпадение с регулярным выражением не найдено, то используется конфигурация запомненного ранее префиксного location’а.
~
- с учётом регистра символов~*
- без учёта регистра символов
Если совпадение с регулярным выражением не найдено, то используется конфигурация запомненного ранее префиксного location’а.