当前位置: 首页 > news >正文

nginx中的try_files指令

try_files 是 Nginx 中一个非常有用的指令,用于按顺序检查文件是否存在,并返回第一个找到的文件。如果所有指定的文件都不存在,则执行回退逻辑,如重定向到一个指定的 URI 或返回一个错误代码。
作用
文件查找:按顺序检查多个文件路径,直到找到存在的文件。
错误处理:如果所有路径都不存在,可以返回一个指定的错误页面或重定向到其他 URI。
灵活配置:适用于单页应用(SPA)等场景,确保所有请求都能正确处理。
语法

try_files file1 [file2 ...] fallback;

file1, file2, …:按顺序检查的文件路径。
fallback:如果所有文件都不存在,则执行的回退逻辑,可以是一个 URI 或 HTTP 状态码。

示例
1.基本示例

location / {
    try_files $uri $uri/ =404;
}

尝试访问请求的 URI 对应的文件($uri)。
如果找不到,尝试访问请求的 URI 对应的目录($uri/)。
如果都找不到,返回 404 错误。

2.单页应用(SPA)

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

尝试访问请求的 URI 对应的文件($uri)。
如果找不到,尝试访问请求的 URI 对应的目录($uri/)。
如果都找不到,重定向到 index.html,让前端路由处理请求。

3.带有参数的 URL

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

尝试访问请求的 URI 对应的文件($uri)。
如果找不到,尝试访问请求的 URI 对应的目录($uri/)。
如果都找不到,重定向到 index.php 并附加查询字符串。
4.指定回退文件

location /pngs/ {
    root /data/user/;
    index index.html index.htm;
    try_files $uri $uri/ /pngs/file.png;
}

尝试访问请求的 URI 对应的文件($uri)。
如果找不到,尝试访问请求的 URI 对应的目录($uri/)。
如果都找不到,重定向到 /pngs/file.png。
查找逻辑
$uri:检查请求的 URI 对应的文件。
$uri/:检查请求的 URI 对应的目录。
回退逻辑:如果所有路径都不存在,执行回退逻辑(如返回 404 或重定向)。

相关文章:

  • UML组件图
  • 2025年前端框架全景解析:React、Vue、Angular的生态与未来之争
  • 南柯电子|EMC电磁兼容性摸底检测测试整改:技术挑战与解决方案
  • python全栈-JavaScript
  • Kaggle房价预测
  • 即时访问成为降低风险的关键
  • Scoop + Kotlin 极简开发环境搭建指南
  • 第二十:mysql——Undo Log、Redo Log和Binlog
  • apollo系统车辆集成介绍(未完代续
  • Guava Cache 实战:构建高并发场景下的字典数据缓存
  • 文生视频提示词编写指南(进阶篇)
  • Python数据爬取
  • VMware Workstation安装C9800CL
  • UML对象图
  • 云存储服务器的作用都有哪些?
  • win10安装wget工具
  • Day1一切从安装有利工具开始
  • 反射率均值与RCS均值的计算方法差异
  • dockerTeskTop安装dify及使用deepseek
  • Git版本管理系列:(一)使用Git管理单分支
  • 营销型网站建设费用/建立网站有哪些步骤
  • php网站开发步骤/发布软文是什么意思
  • 网站谷歌地图提交/电商代运营一般收多少服务费
  • 珠海做网站多少钱/免费的编程自学网站
  • 建设网站用英文怎么说/域名交易中心
  • 凡科的模板做网站/大数据精准营销获客