Nginx:当'index'和'try_files'在同一块中时,为什么会处理'try_files',而不是'index'指令?
nginx.conf如下所示:Nginx:当'index'和'try_files'在同一块中时,为什么会处理'try_files',而不是'index'指令?,nginx,Nginx,nginx.conf如下所示: http { server { listen 8080; server_name example.com; root /tmp/test/example; location / { index index.html; try_files $uri /test.html; } } } 当我访问
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
执行了try\u files
指令
它专门记录了两个文件元素:$uri
和$uri/
。第一个测试是否存在正常文件,第二个测试是否存在目录
index
指令是在处理指向目录的URI时调用的,该目录包含与指令参数之一匹配的文件
如果是try_文件$uri/test.html代码>,则不测试目录是否存在,因此会采取默认操作
如果是try_files$uri$uri//test.html代码>,测试目录的存在性,并因此执行索引操作。如何try\u files$uri$uri//test.html
?@RichardSmith,它访问了文件index.html
,为什么?测试目录是否存在,目录是否引用了根目录Smith@zhenguoli对于URI/
,答案是肯定的。目录指的是您在URI中请求的目录,对吗?@Richard Smith