透過 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;
    }
}

相關內容