通过 try_files 在 nginx 中提供 2 个合并目录时的索引

通过 try_files 在 nginx 中提供 2 个合并目录时的索引

我有两个目录,其中包含使用try_files指令通过 nginx 提供的静态文件。 (一个目录填充了 pelican 生成的页面,另一个目录填充了静态内容。)

但是我无法让该index指令正常工作 - 在请求索引页时我必须手动指定index.html。我该如何正确设置以便我可以请求http://localhost/而不是http://localhost/index.html

这是我的配置:

server {
    listen 80;
    server_name preview.mrwonko.de;
    index index.html;
    location / {
        root /;
        try_files /var/www$uri /home/willi/homepage/homepage/output$uri =404;
    }
}

答案1

irc.freenode.org 上 #nginx 的好心人帮我解决了这个问题,最终的解决办法如下:

server {
    listen 80;
    server_name preview.mrwonko.de;
    index.html;
    location / {
        root /var/www;
        try_files $uri $uri/ @fallback;
    }
    location @fallback {
        root /home/willi/homepage/homepage/output;
    }
}

相关内容