检测文件是否存在
try_files 会按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹), 如果所有文件或文件夹都找不到,会进行一个内部重定向到最后一个参数.只有最后一个参数可以引起 一个内部重定向,之前的参数只设置内部URI的指向.最后一个参数是回退URI且必须存在,否则会出现 内部500错误.
语法格式:
Syntax: try_files file ... uri;
try_files file ... =code;
Default: —
Context: server, location
范例:如果访问不存在页面,返回自定义的状态响应码
server {
listen 80 ;
server_name http://www.meng.org;
root /data/nginx/html/pc/;
try_files $uri $uri/index.html $uri.html =489;
}
访问 www.meng.org/xxx
都没有文件,最后转到489
创建xxx.html文件
echo xxx.html > xxx.html
重新访问 www.meng.org/xxx 页面会执行到xxx.html,出现xxx.html