nginx.conf如下:
http {
server {
listen 8080;
server_name example.com;
root /tmp/test/example;
location / {
index index.html;
try_files $uri /test.html;
}
}
}
当我访问example.com:8080
时,它会访问/tmp/test/example/test.html
,而不是index.html
。
答案 0 :(得分:11)
try_files
指令为documented here。
它专门记录了两个文件元素:$uri
和$uri/
。第一个测试是否存在普通文件,第二个测试是否存在目录。
由于处理指向包含与其中一个指令参数匹配的文件的目录的URI而调用index
指令。
在try_files $uri /test.html;
的情况下,未测试目录的存在,因此采取默认操作。
对于try_files $uri $uri/ /test.html;
,目录的存在已经过测试,因此会采取索引操作。