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.html。4.例子:根据上面的配置,当请求http://localhost:3004/api时,uri 为 /api。当前try_file 具体为:/api、/api/、/index.html,其中 / 表示根目录(根据 root 或 alias 来指定)。
仅当以上都不存在时,NGINX才会触发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://lsjlt.com/news/387986.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0