語法: 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文件。