前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
AI 面试
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
AI 面试
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航

浅析Nginx之try_files

首页
2021-02-08 09:58:20
Back-end
Nginx部署

Nginx的配置语法灵活,可控制度非常高。在0.7以后的版本中加入了一个try_files指令,配合命名location,可以部分替代原本常用的rewrite配置方式,提高解析效率。

# try_files指令:

  • 语法:try_files file ... uri 或 try_files file ... = code
  • 默认值:无
  • 作用域:server location

image-20210208093424322

  • 当用户在浏览器输入blog.zsc.com或者blog.zsc.com/index.html或者blog.zsc.com/index.php时,根据try_files规则,可以找到该域名对应的web页面
  • 当用户在浏览器输入blog.zsc.com/fjdklfjaldkfjlads/zjklfjdslfjds等不存在的域名时,根据try_files规则,“$uri”和“$uri”都不符合,所以nginx就自动把域名转换为blog.zsc.com/index.php,然后将blog.zsc.com/index.php页面内容反馈给客户端。
  • try_files的作用是按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹),如果所有的文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。

需要注意的是,只有最后一个参数可以引起一个内部重定向,之前的参数只设置内部URI的指向(如下图)。最后一个参数是回退URI且必须存在,否则会出现内部500错误。命名的location也可以使用在最后一个参数中。与rewrite指令不同,如果回退URI不是命名的location那么$args不会自动保留,如果你想保留$args,则必须明确声明。

image-20210208093626879

将try_files的最后一个参数设置为@tornado(@,内部重定向时会用到),当“$uri”找不到时,就做一个内部重定向,将请求抛给`“location @tornado”

fe
  • try_files指令:

← 前端页面性能优化方式Typora+PicGo+阿里云OSS实现自动上传图片 →