Index beim Bereitstellen von 2 zusammengeführten Verzeichnissen in Nginx über try_files

Index beim Bereitstellen von 2 zusammengeführten Verzeichnissen in Nginx über try_files

Ich habe zwei Verzeichnisse mit statischen Dateien, die ich mit nginx unter Verwendung der try_filesDirektive bereitstelle. (Eines ist mit von Pelican generierten Seiten gefüllt, eines mit statischem Inhalt.)

Ich kann die indexAnweisung jedoch nicht richtig zum Laufen bringen. Ich muss sie manuell angeben, index.htmlwenn ich eine Indexseite anfordere. Wie richte ich das richtig ein, damit ich http://localhost/anstelle von anfordern kann http://localhost/index.html?

Hier ist meine Konfiguration:

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

Antwort1

Die netten Leute in #nginx auf irc.freenode.org haben mir geholfen, es herauszufinden, und das hier hat am Ende funktioniert:

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

verwandte Informationen