我有两个目录,其中包含使用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;
}
}