Служите HTML вне корневого местоположения - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь обслуживать некоторые html из местоположения, отличного от root.

Если я перейду к http://example.com/somepage.html, то я бы хотел, чтобы @fallback обслуживал меня, но теперь он просто загружает index.html.в корне.Это somepage.html (у меня могут быть другие страницы) доступно только в корне @fallback.

Я даже могу явно перейти на http://example.com/drafts/somepage.html, пока он работает из папки в @fallback

server {
    listen       80;

    root            /home/main/www;
    server_name     example.com;
    index           index.php index.html;

    error_page 404  /404.html;

    location / {
        default_type "text/html";
        try_files $uri $uri/ /index.html @fallback =404;
    }

    # serve preview pages
    location @fallback {
        root /home/main/test/drafts/_previews;
    }
}

[Обновление]: у меня получилось так ->

    location / {
        default_type "text/html";
        try_files $uri $uri/ /index.html =404;
    }

    # serve preview pages
    location /_previews {
        root /home/main/test/drafts;
    }

Я перехожу на http://example.com/_previews/somepage.html и страница загружается правильно.

Интересно, есть ли способы использовать @fallback или переписать _previews во что-нибудь более простое, например drafts, без изменения этого корня.

...