it编程 > 数据库 > Redis

nginx中alias和root的区别详解

26人参与 2026-01-19 Redis

很多同学第一次写配置时,常常把这两个混用,导致请求路径解析错误,文件 404。本文就来详细讲解 root 与 alias 的区别,并通过案例帮你彻底搞懂。

1. 基本概念

一句话总结: 👉 root拼接路径alias路径替换

2.root示例

location /static/ {
    root /var/www/html;
}

请求:

http://example.com/static/logo.png

nginx 的解析过程:

root = /var/www/html
location 匹配 /static/
请求路径 = /static/logo.png

最终文件路径 = /var/www/html/static/logo.png

✅ 注意:/static/ 仍然会拼接到 root 后面。

3.alias示例

location /static/ {
    alias /var/www/images/;
}

请求:

http://example.com/static/logo.png

nginx 的解析过程:

alias = /var/www/images/
location 匹配 /static/
去掉 /static/,剩下 /logo.png

最终文件路径 = /var/www/images/logo.png

✅ 注意:/static/ 被完全替换成了 /var/www/images/

4. 最常见的坑

很多人会这样写:

location /static/ {
    root /var/www/images/;
}

然后请求:

http://example.com/static/logo.png

nginx 实际解析:

最终路径 = /var/www/images/static/logo.png  ❌

因为 root 会把 location 前缀 /static/ 拼接到后面。正确写法应该是:

location /static/ {
    alias /var/www/images/;
}

这样路径才是:

/var/www/images/logo.png ✅

5. 对比总结

特性rootalias
作用方式拼接请求路径替换 location 前缀
最终路径root + location + 请求剩余路径alias + 请求去掉 location 部分
常见用途整个站点的根目录单独路径映射到特殊目录
常见错误多拼一层目录忘记在路径后加 /

6. 推荐使用场景

7. 总结

👉 口诀:

root 拼接,alias 替换。

到此这篇关于nginx中alias和root的区别详解的文章就介绍到这了,更多相关nginx alias和root区别内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

您想发表意见!!点此发布评论

推荐阅读

Nginx 4层转发TCP流量实现负载代理

01-19

Nginx限流防刷与CC攻击防护实战配置

01-19

Nginx转发真实的IP的项目实践

01-19

nginx流量拷贝的实现示例

01-19

Redis 7.X 部署指南之单机、主从、哨兵和集群部署

01-20

Redis 分布式锁必避的 8 大问题及解决方案全解析

01-21

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论