Nginx 配置中 root 和 alias 的区别

本文详细对比了Nginx配置中的root与alias指令的使用方式与区别,包括它们如何确定请求资源的真实路径,以及在location块中的具体表现。文章强调了alias指定路径的固定性与root路径的相对性,并指出两者在使用场景上的细微差别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近有个seo优化的问题,需要加一些 sitemap.xml 文件,通过 nginx 配置实现,遇到了 root 和 alias 两种写法,记录一下两个的区别。

root和alias都可以定义在location模块中,都是用来指定请求资源的真实路径,比如:

        location = /test {
                root /home/nginx/nginx/html;
        }

请求 http://xxxxxx/test/a.html 这个地址时,那么在服务器里面对应的真正的资源是 /home/nginx/nginx/html/test/a.html 文件

注意:真实的路径是root指定的值加上location指定的值 。

而 alias 正如其名,alias指定的路径是location的别名,不管location的值怎么写,资源的 真实路径都是 alias 指定的路径 ,比如:

        location = /test {
                alias /home/nginx/nginx/html/;
        }

同样请求 http://xxxxx/test/a.html 时,在服务器查找的资源路径是: /home/nginx/nginx/html/a.html

其他区别:
1、 alias 只能作用在location中,而root可以存在server、http和location中。
2、alias 后面必须要用 “/” 结束,否则会找不到文件,而 root 则对 ”/” 可有可无。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值