- 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’а.
~- с учётом регистра символов~*- без учёта регистра символов