Чтобы попробовать несколько именованных местоположений в Nginx, вы можете использовать директиву mapили создать отдельные блоки местоположений для каждого именованного местоположения. Вот несколько методов, которые вы можете рассмотреть:
Метод 1: использование директивы map:
- Определите сопоставление переменных с помощью директивы
mapв контекстеhttpвашего файла конфигурации Nginx. - Сопоставьте условие с каждым именованным местоположением, используя параметр
default, чтобы указать именованное местоположение по умолчанию. - Используйте сопоставленную переменную в блоке
location, чтобы выполнить соответствующее именованное местоположение.
Пример:
http {
map $request_uri $named_location {
/path1 named_location1;
/path2 named_location2;
default named_location_default;
}
server {
location / {
try_files $uri $uri/ @named_location;
}
location @named_location {
# Execute the named location based on the mapped variable
include named_location.conf;
}
}
}
Метод 2: использование отдельных блоков местоположения:
- Создайте отдельные блоки
locationдля каждого именованного местоположения в блокеserver. - Определите условия для каждого именованного местоположения с помощью директивы
locationи регулярных выражений.
Пример:
server {
location /path1 {
# Configuration for named location1
include named_location1.conf;
}
location /path2 {
# Configuration for named location2
include named_location2.conf;
}
location / {
# Default configuration
include named_location_default.conf;
}
}