nginx try_files指令的实现示例

 更新时间:2024年07月15日 09:17:39   作者:fastjson_  
try_files用于指定文件的查找规则,可以配置多个规则,会按顺序执行查找规则,本文主要介绍了nginx try_files指令的实现示例,具有一定的参考价值,感兴趣的可以了解一下

try_files 用于指定文件的查找规则,可以配置多个规则,会按顺序执行查找规则,若找到文件则中断查找并返回文件,若找不到则返回404响应。

配置语法

location / {
    root html;
    index index.html;
    try_files $uri $uri/ /index.html;
}

解释下配置:

  • root指令 设置了 静态根目录 为 html。
  • index指令 设置了 目录的默认文件 为 index.html。
  • try_files指令 设置了 文件查找规则 为 $uri $uri/ /index.html。即3个规则,先从 $uri 查找,再从 $uri/ 目录中查找,最后查找 /index.html。

举个例子

针对上面的配置,当请求 http://localhost:8080/abc 时,则 $uri 为 /abc,此时,try_files 的规则可以具体为 /abc /abc/ /index.html/ 表示根目录 html(由 root指令 指定)。

其具体的查找逻辑如下:

检查 html 目录中是否存在 abc 文件(对应第1个规则)

  • 如果存在,则返回文件
  • 如果不存在,则继续下一步

检查 html 目录中是否存在 abc/ 目录(对应第2个规则)

如果存在,则检查 abc/ 目录中是否存在 index.html 文件(由 index指令 指定)

  • 如果存在,则返回文件
  • 如果不存在,则默认返回403,因为目录不可访问;

如果不存在则继续下一步

检查 html 目录中是否存在 index.html 文件(对应第3个规则)

  • 如果存在,则返回文件
  • 如果不存在,则返回404

小结: 可以看到,try_files指令 的查找逻辑和 root指令index指令 有很大的关系。

高级用法:

先在本地尝试查找文件,找不到则重定向到其他地址

location / {
    try_files $uri $uri.html $uri/ @mongrel;
}
location @mongrel {
    proxy_pass http://mongrel;
}

到此这篇关于nginx try_files指令的实现示例的文章就介绍到这了,更多相关nginx try_files内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Nginx正向代理实现局域网电脑访问外网的过程详解

    Nginx正向代理实现局域网电脑访问外网的过程详解

    在工作中我遇到了一个类似的情况:在公司网络中,由于管理要求,局域网内的电脑不能直接访问外网,但是,工作上领导吩咐需要让局域网内的电脑能够访问外网上的某个网站,这时候就需要用到正向代理,本文将介绍如何配置 Nginx 实现这一功能,需要的朋友可以参考下
    2024-03-03
  • Nginx之proxy_redirect使用详解

    Nginx之proxy_redirect使用详解

    这篇文章主要介绍了Nginx之proxy_redirect使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • 关于使用Keepalived实现Nginx的自动重启及双主热备高可用问题

    关于使用Keepalived实现Nginx的自动重启及双主热备高可用问题

    这篇文章主要介绍了使用Keepalived实现Nginx的自动重启及双主热备高可用,本文通过几个问题解析帮助大家学习Keepalived实现Nginx的自动重启的相关知识,需要的朋友可以参考下
    2021-09-09
  • nginx Rewrite重写地址的实现

    nginx Rewrite重写地址的实现

    本文主要介绍了nginx Rewrite重写地址的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • 使用nginx+lua进行token鉴权的方法

    使用nginx+lua进行token鉴权的方法

    使用nginx和lua脚本实现对Minio服务器图片链接的token鉴权,通过反向代理隐藏真实IP,增强安全性,介绍了整个鉴权流程,包括nginx配置和lua脚本的具体实现,适用于需要保护图片不被未授权访问的场景
    2022-05-05
  • 教你使用Nginx限制百度蜘蛛频繁抓取的问题

    教你使用Nginx限制百度蜘蛛频繁抓取的问题

    这篇文章主要介绍了使用Nginx限制百度蜘蛛频繁抓取的问题,百度蜘蛛对网站的抓取频率高和抓取量骤增导致服务器负载高,经常收到警告信息,每分钟允许百度蜘蛛抓取200次,超过频率限制的返回503,对Nginx限制蜘蛛频繁抓取相关知识感兴趣的朋友一起看看吧
    2022-01-01
  • Nginx开启一个参数就能让你的WEB性能提升3倍的方法

    Nginx开启一个参数就能让你的WEB性能提升3倍的方法

    这篇文章主要介绍了Nginx开启一个参数就能让你的WEB性能提升3倍的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • nginx gzip 动态静态压缩详解

    nginx gzip 动态静态压缩详解

    这篇文章主要为大家介绍了nginx gzip 动态静态压缩实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Nginx + php 搭建 超性能 WEB 服务器

    Nginx + php 搭建 超性能 WEB 服务器

    Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
    2010-03-03
  • keepalived+nginx实现双服务器主备方案

    keepalived+nginx实现双服务器主备方案

    本文主要介绍了使用keepalived和nginx实现双服务器主备方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-12-12

最新评论