nginx

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > nginx > nginx try_files

nginx try_files指令的实现示例

作者:fastjson_

try_files用于指定文件的查找规则,可以配置多个规则,会按顺序执行查找规则,本文主要介绍了nginx try_files指令的实现示例,具有一定的参考价值,感兴趣的可以了解一下

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

配置语法

location / {
    root html;
    index index.html;
    try_files $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指令 指定)

如果不存在则继续下一步

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

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

高级用法:

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

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

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

您可能感兴趣的文章:
阅读全文