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

Nginx配置里alias和root的区别

我们用一种非常容易理解的方式来解释 alias 和 root 的区别。

核心比喻:问路

想象一下你在问路:

  • root 就像告诉你一个「大本营」的地址

  • alias 就像给你一个「精确的目的地」地址


1. root 指令:告诉你大本营在哪里

工作方式:请求的URI路径会完整地追加到root指定的路径后面。

举个例子:

nginx
location /images/ {root /data/website;
}

访问过程:

  • 你访问:http://yoursite.com/images/cat.jpg

  • Nginx 的处理思路:

    1. 找到「大本营」:/data/website

    2. 把请求的完整路径 /images/cat.jpg 直接拼接到大本营后面

    3. 最终去找:/data/website/images/cat.jpg

✅ 适用场景: 设置静态文件的根目录


2. alias 指令:给你精确的目的地地址

工作方式:用alias的路径完全替换location匹配到的部分。

举个例子:

nginx
location /static/ {alias /data/website/assets/;
}

访问过程:

  • 你访问:http://yoursite.com/static/logo.png

  • Nginx 的处理思路:

    1. 匹配到 /static/ 这部分

    2. 用 /data/website/assets/ 完全替换掉 /static/

    3. 最终去找:/data/website/assets/logo.png

✅ 适用场景: 将URL路径映射到文件系统完全不同的路径


对比表格

 
特征rootalias
工作方式 追加完整URI路径 替换匹配到的部分
思维模式 告诉你大本营 给你精确目的地
路径处理 root路径 + 完整URI alias路径 + (URI - 匹配部分)
常用场景 静态文件根目录 特殊路径映射

最容易出错的例子

nginx
# 错误用法:想要访问 /data/files/download/test.txt
location /download/ {alias /data/files/;# 访问 /download/test.txt 会变成 /data/files/test.txt# 但文件实际在 /data/files/download/test.txt
}# 正确用法:
location /download/ {alias /data/files/download/;# 访问 /download/test.txt 会变成 /data/files/download/test.txt ✅
}

简单记忆口诀

「root是加,alias是换」

  • 用 root:路径会变长

  • 用 alias:路径会替换

记住这个口诀,你就基本不会用错了!

http://www.hskmm.com/?act=detail&tid=13349

相关文章:

  • 国产DevOps生态崛起:Gitee如何赋能企业数字化转型
  • 【OpenCV】10 图像滤波
  • 基于java+springboot的社区居民诊疗健康管理系统(源代码+文档+讲解视频) - 指南
  • 时序数据库IoTDB的六大实用场景盘点 - 指南
  • 50系GPU上安装MMCV
  • K8S的CoreDns配置文件添加域名解析
  • 20250308_信安一把梭_web
  • nodify_介绍及安装
  • MQTT协议(消息队列遥测传输)
  • 如何构建embeding 的就是pytorch 中
  • 萤石设备视频接入平台EasyCVR国标GB28181视频平台整合铁路抑尘喷洒智能视频监控方案
  • 【低代码平台之应用构建展示】数智化贸易订单管理平台
  • C# 第 17天 028 029接口,依赖反转,单元测试
  • 2025年项目管理软件革命:AI与空间计算如何重塑企业协作范式
  • Threading 串行VS并发
  • parallel index
  • C语言 第三讲:分支和循环(上) - 教程
  • 中间件专题:Redis
  • 微信个人号开发API/文档/教程
  • 微指令控制器基本原理
  • 一个拒绝过度设计的 .NET 快速开发框架:开箱即用,专注干活
  • 个人微信号二次开发API调用、微信API接口
  • 2025.9.21+7 [未完]
  • VisualStudio-Python-工具指南-全-
  • Gevent和Subprocess问题
  • Ansible自动化运维实战 - 详解
  • 建筑行业能源管理破局:MyEMS 打造商业楼宇 “能耗可视化 + 智能调控” 方案
  • 【数据结构】双向链表 - 指南
  • 告别“能源糊涂账”:MyEMS如何帮企业把能耗数据“算明白、用到位”
  • Windows 离线环境下使用 VS Code 连接容器 Python 环境完整指南(亲测可用)