语法: try_files file ... uri 或 try_files file ... = code
默认值: 无
作用域: server location
主要按参数顺序检查文件是否存在,返回第一个找到的文件,文件:$uri 文件夹 :$uri/
最后一个参数,用来回退URI且必须存在,否则将会出现内部500错误。
一般最后一个参数使用@fallback进行重定向指定代理或文件
---------------
关于单页面,刷新404问题,如vue + nginx的配置, vue路由必须先加载 index.html 或者XX.js 才能识别到路由,故直接刷新页面会出现404,这时候最好到做法,是使用try_files 进行尝试,如果获取不到资源,加载index.html 再利用 rewrite的 last参数,保持路由路径不变,从而实现刷新页面。
但需要注意:此种解决方法需要 vue和nginx部署在同一台服务器上,这样try_files才能在服务器硬盘上找到index.html文件。