Конфигурация Nginx для обслуживания любого URL в качестве корневого URL

#nginx #nginx-ingress

#nginx #nginx-вход

Вопрос:

Я запускаю простой статический веб-сайт под nginx со следующей конфигурацией

 server {
    listen       80;
    listen  [::]:80;

    location /mycalendar {
        root   /usr/share/nginx/html;
        index  index.html;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}
  

Уловка:

URL-адреса поступают в эту службу как / mycalendar. Однако nginx по-прежнему ожидает найти файлы в поддиректоре «mycalendar» / usr / share / nginx / html, но я хотел бы разместить их на сервере из «root».

Есть ли способ обслуживать подпуть / mycalendar, но указать nginx принимать файлы из root вместо подкаталога, названного в честь подпути?

Спасибо!

Ответ №1:

Что помогло в этом случае, так это использовать «псевдоним» вместо «root» внутри блока «location ~ / mycalendar».