← 全部文章

技术与生活 / 一篇记录

try_files:文件不存在,就明确告诉客户端

静态网站可以先检查文件和目录,缺失时明确返回 404。

静态站的资源路径应与磁盘产物建立清晰对应。依次检查文件和目录,再返回明确状态,可以避免缺失脚本被错误地当成首页 HTML 返回。

从一个例子看起

配置片段不是完整配置文件,应放入正确的上下文,并按实际环境调整路径与端口。

location / { try_files $uri $uri/ =404; }

同时测试文件、目录首页和不存在的地址。

排查时再往前走一步

测试一个存在的文件、一个带目录首页的路径和一个不存在路径。若是单页应用,应单独设计前端路由回退,不要把两种站点需求混为一谈。

目录首页依赖 index 设置和实际文件权限。若目录存在但首页不可读,结果可能与文件完全不存在时不同。将路径解析与权限检查分开,可以更快确认具体失败原因。

不要为所有失效路径都回退首页,除非确实是前端路由应用。

参考:Nginx 文档。

搜索文章

输入关键词,找回一篇记录。