语法
格式1:
try_files file ... uri;
格式2:
try_files file ... =code;
说明:
按指定的 file 顺序查找存在的文件,并使用第一个找到的文件进行请求处理
查找路径是按照给定的root或alias为根路径来查找的
如果给出的file都没有匹配到,则重新请求最后一个参数给定的uri,就是新的location匹配
如果是 格式2,如果最后一个参数是
= 404,若给出的file都没有匹配到,则最后返回404的响应码
例子
root /var/www/html; # 资源所在的目录位置
index index.html index.htm index.nginx-debian.html; # 默认首页
location / { # 通用匹配路径
try_files $uri $uri/ =404; # 查找资源
}
请求 http://127.0.0.1/images/test.gif 会依次查找:
$uri表示查找文件/var/www/html/images/test.gif,如果找到就显示,没有找到继续查找$uri/表示在文件夹/var/www/html/images/test.gif/下的index文件,如果找到就显示,没有找到继续查找=404报404错误
注意: try-files 如果不写上 $uri/,当直接访问一个目录路径时,并不会去匹配目录下的索引页 即 访问 http://127.0.0.1/ 不会去访问 http://127.0.0.1/index.html