在根目录外部提供html

时间:2019-03-27 23:12:02

标签: nginx nginx-location

我正在尝试从root以外的位置提供一些html。

如果我去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的内容,而无需更改此根。

0 个答案:

没有答案