当前位置: 首页 > 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.zskr.cn/news/9531.html

相关文章:

  • 国产DevOps生态崛起:Gitee如何赋能企业数字化转型
  • 【OpenCV】10 图像滤波
  • 50系GPU上安装MMCV
  • 20250308_信安一把梭_web
  • 萤石设备视频接入平台EasyCVR国标GB28181视频平台整合铁路抑尘喷洒智能视频监控方案
  • 从零到Offer:Java Socket面试通关秘籍-Socket面试为何总让人“心跳加速”? - 实践
  • 详细介绍:Linux驱动开发笔记(七)——并发与竞争(下)——自旋锁信号量互斥体
  • 2025年项目管理软件革命:AI与空间计算如何重塑企业协作范式
  • C语言 第三讲:分支和循环(上) - 教程
  • Vue3 新趋势:弃用 ECharts!最强图表库诞生!
  • 群晖安装套件跳过版本检查
  • 微信个人号开发API/文档/教程
  • 个人微信号二次开发API调用、微信API接口
  • 建筑行业能源管理破局:MyEMS 打造商业楼宇 “能耗可视化 + 智能调控” 方案
  • 科研必读|提升酿酒酵母表达蛋白产量的关键技术
  • 【RK3576】【Android14】如何在Android14下单独编译kernel-6.1? - 详解
  • 完整教程:栈与队列的实现方式与应用解惑
  • 9.8C++作业 - 实践
  • 如何用 Dify 无代码工作流实现 AI 自动化抓取与分析 LinkedIn 招聘数据
  • 2025/9/22
  • WSL+共享文件夹搭建zephyr工作环境
  • 如果 Spring Cloud Feign 配置了 OkHttp3 非阻塞 IO(NIO),那么还需要reactor 模型来提高性能吗
  • LLM的MCP协议通讯方式详解:Stdio、SSE与流式HTTP的选择与实践 - 详解
  • AI 编程工具选型速览(2025-09 版) - 详解
  • 爆款游戏背后:尚娱如何借助阿里云 Kafka Serverless 轻松驾驭“潮汐流量”?
  • yakit + proxifier 解决`all tls strategy failed报错
  • 详细介绍:传输层TCP 与 安全层SSL/TLS
  • spring ai基于内存RAG尝鲜
  • 基于 IOCP 的协程调度器——零基础深入浅出 C++20 协程
  • Gitee PPM风险矩阵:数字化转型中的项目管理预警雷达