检测文件是否存在

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