Несколько именованных расположений в Nginx: методы и конфигурации

Чтобы попробовать несколько именованных местоположений в Nginx, вы можете использовать директиву mapили создать отдельные блоки местоположений для каждого именованного местоположения. Вот несколько методов, которые вы можете рассмотреть:

Метод 1: использование директивы map:

  1. Определите сопоставление переменных с помощью директивы mapв контексте httpвашего файла конфигурации Nginx.
  2. Сопоставьте условие с каждым именованным местоположением, используя параметр default, чтобы указать именованное местоположение по умолчанию.
  3. Используйте сопоставленную переменную в блоке 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: использование отдельных блоков местоположения:

  1. Создайте отдельные блоки locationдля каждого именованного местоположения в блоке server.
  2. Определите условия для каждого именованного местоположения с помощью директивы 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;
  }
}