广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >Nginx的try_files指令详解
  • 710
分享到

Nginx的try_files指令详解

nginx运维 2023-09-01 09:09:15 710人浏览 薄情痞子
摘要

Nginx的try_files指令详解 顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示文件夹),如果所有的文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。 注:只有最后一

Nginx的try_files指令详解

顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示文件夹),如果所有的文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。
注:只有最后一个参数可以引起一个内部重定向,之前的参数只设置内部的 URL 的指向。最后一个参数是回退 URL 且必须存在,否则会出现内部 500 错误。命名的 location 也可以使用在最后一个参数中。

举例说明
示例一:

nginx.conf: |    server {            listen 80;            listen [::]:80;            server_name magedu.com www.magedu.com;            index index.PHP index.html index.htm;            root /var/www/html;            location ~ /.well-known/acme-challenge {                    allow all;                    root /var/www/html;            }            location / {                    try_files $uri $uri/ /index.html =404;            }   }

解释配置:

root:设置静态根目录为 /var/www/html
2. index:设置目录的默认文件为 index.html 、index.htm、index.php
3. try_files:设置文件查找规则为 $uri $uri/ /index.html。即3个规则,先从 $uri 查找,再从 u r i / 目录中查找,最后查找 / i n d e x . h t m l 。 4. 例子:根据上面的配置,当请求 h t t p : / / l o c a l h o s t : 3004 / a p i 时, uri/ 目录中查找,最后查找/index.html。 4. 例子:根据上面的配置,当请求 Http://localhost:3004/api 时, uri/目录中查找,最后查找/index.html4.例子:根据上面的配置,当请求http://localhost:3004/api时,uri 为 /api。当前try_file 具体为:/api、/api/、/index.html,其中 / 表示根目录(根据 root 或 alias 来指定)。

仅当以上都不存在时,NGINX才会触发404错误

查找逻辑:

  1. 首先:检查 /var/www/html 目录中是否存在 api 文件,如果存在,则返回文件;如果不存在,则进行下一步。
  2. 其次:检查 /var/www/html目录中是否存在 api/ 目录,如果存在,则在检查 api/ 目录中是否存在 index.html 或者 index.htm 文件(由 index 指定);如果存在,则返回该文件。如果不存在,则进行下一步。
  3. 最后:检查 /var/www/html 目录中是否存在/index.html文件。如果存在,则返回文件;如果不存在,则返回 404。
    示例二:
location /pngs/ {    root /data/user/;    index index.html index.htm;    try_files $uri   $uri/  /pngs/file.png; }

根据上面的配置,当请求 http://localhost:3003/pngs/rule.png 时, $uri 为 /pngs/rule.png,当前 try_file 查找顺序为,首先是:/data/user/pngs/rule.png,其次是:/data/user/pngs/rule.png/ 文件下的 index 所配置的文件,即: index.html、index.htm,最后是: /data/user/pngs/file.png在这里插入代码片

来源地址:https://blog.csdn.net/weixin_42896216/article/details/129088973

--结束END--

本文标题: Nginx的try_files指令详解

本文链接: https://www.lsjlt.com/news/387986.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Nginx的try_files指令详解
    Nginx的try_files指令详解 顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示文件夹),如果所有的文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。 注:只有最后一...
    99+
    2023-09-01
    nginx 运维
  • 详解nginx location指令
    location 介绍 location是Nginx中的块级指令(block directive),,location指令的功能是用来匹配不同的url请求,进而对请求做不同的处理和响...
    99+
    2022-11-12
  • Nginx中default_server指令问题详解
    目录序言1.基本介绍 2.显示定义一个 default server 3.指定server_name 为 ip4. 隐式的 default server...
    99+
    2022-12-27
    nginx default_server nginx default_server问题 default_server指令
  • nginx 配置指令之location使用详解
    目录前言配置策略具体属性介绍Nginx是支持世界上所有网站三分之一的Web服务器。因为轻巧,模块化,用户友好的配置格式以强大的反向代理能力,Nginx迅速取代其他Web服务器成了互联...
    99+
    2022-11-13
  • 3-Nginx 命令详解
    一、Nginx命令详解Nginx     启动nginx服务Nginx  -v 查看版本信息Nginx  -V 查看编译信息Nginx  -t 检查配置文件Nginx  -T 检查配置文件,并打印详细信息Nginx  -s 发送信号:  ...
    99+
    2023-01-31
    详解 命令 Nginx
  • Docker中的COPY指令和ADD指令详解
    目录1、COPY指令(1)COPY指令说明(2)COPY指令格式(3)COPY指令使用(4)其他2、ADD指令(1)ADD指令说明(2)ADD指令格式(3)ADD指令使用(4)不推荐...
    99+
    2022-11-13
  • Nginx的gzip指令使用小结
    目录简介说一段废话背景指令介绍gzipgzip_static易错点提示简介 GZIP顾名思义,就是将文件压缩传输。图片、视频、大文件不建议使用压缩,压缩需要占用你的服务器资源,压缩完...
    99+
    2022-11-13
  • Nginx的mirror指令示例配置
    目录mirror 流量复制有什么实际用处?举个实际使用的例子:灰度验证注意点mirror 流量复制 Nginx的 mirror 指令来自于 ngx_http_mirror_modul...
    99+
    2022-11-13
  • 详解ngx_cache_purge_proxy_cache指令使用
    目录1. proxy_cache 指令2. proxy_cache_bypass指令3. proxy_cache_key指令4. proxy_cache_lock指令5. proxy...
    99+
    2022-11-13
  • 汇编语言LDR指令和LDR伪指令详解
    目录LDR指令和LDR伪指令详解ARM32位指令的构成ldr指令和ldr伪指令的使用区别:补充1:补充2:汇编语言ldr伪指令LDR指令和LDR伪指令详解 ARM32位指令的构成 A...
    99+
    2023-01-28
    ldr指令和ldr伪指令 汇编语言ldr伪指令 汇编语言ldr指令
  • unidbg-consoleDebugger快键指令详解
    快键指令详解: help 帮助信息d|dis 反编译信息d0x地址 地址信息m eg:mr0 mr0s mr0 16(长度) 读取寄存器内存mOx 指定地址内存w0x ...
    99+
    2023-08-17
    java 开发语言
  • Vue自定义指令详解
    目录Vue自定义指令自定义指令钩子函数输出相关属性运用例子总结Vue自定义指令 自定义指令 注册一个全局指令v-focus,该指令的功能是在页面加载时元素获得焦点 <!DO...
    99+
    2022-11-12
  • 详解从ObjectPool到CAS指令
    目录源码解析私有字段构造方法Get 方法Return 方法关于 Interlocked.CompareExchange总结相信最近看过我的文章的朋友对于Microsoft.Exten...
    99+
    2022-11-13
    ObjectPool到CAS指令 CAS指令
  • dword ptr指令详细解析
    对于这个问题,汇编语言中用一下方法处理。 (1)通过寄存器名指明要处理的数据的尺寸。例如:下面的指令中,寄存器指明了指令进行的是字操作:mov ax,1mov bx,ds:[0]mo...
    99+
    2022-11-15
    dword_ptr
  • shell中set指令的用法详解
    语法 set [-可选参数] [-o 选项] 功能说明 set 指令可根据不同的需求来设置当前所使用 shell 的执行方式,同时也可以用来设置或显示 shell 变量的值。当指定某个单一的选项时将设置 shel...
    99+
    2022-06-04
    shell set指令
  • NGINX最常用的指令(最全的查询)
    服务管理 sudo systemctl status nginx # nginx当前状态 sudo systemctl reload nginx # 重新加载 nginx sudo systemctl restart nginx # 重启n...
    99+
    2023-10-25
    nginx 服务器 运维
  • 详解汇编语言MOV指令
    MOV(Move)指令是汇编语言中最基本的指令之一,用于将数据从一个位置复制到另一个位置。它的语法形式通常是:MOV dest, s...
    99+
    2023-08-14
    汇编语言
  • Vue.js directive自定义指令详解
    自定义一个demo指令 Vue自定义指令语法如下: Vue.directive(id, definition) 传入的两个参数,id是指指令ID,definition是指定义...
    99+
    2022-11-12
  • java虚拟机指令dup详解
    本文实例为大家介绍了java虚拟机指令dup,供大家参考,具体内容如下举个例子:public class ExceptionTest{ void cantBeZero(int i) throws Exception{ throw n...
    99+
    2023-05-31
    java dup ava
  • 详解MySQL kill 指令的执行原理
    kill 指令有两种写法 " kill query + 线程 id "、" kill connection(可缺省) + 线程 id "。分别表示关闭指定线程正在执行的语句、断开指定线程...
    99+
    2022-05-27
    MySQL kill MySQL 指令
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作