nginx的root、alias指令配置区别

文章详细阐述了nginx中root和alias指令的使用差异。root指令将location匹配的路径视为相对于指定目录的上一级,而alias则直接在指定目录下查找匹配的文件。配置时,alias目录后通常需以/结束。示例配置展示了root和alias在处理不同路径请求时的效果。

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

nginx的root、alias指令区别

  • alias指定的目录是准确的,即location匹配访问的path目录下的文件直接是在alias目录下查找的;
  • root指定的目录是location匹配访问的path目录的上一级目录,这个path目录一定要是真实存在root指定目录下的;
*rootalia
语法root pathalias path
配置段http、server、locationiflocation
默认值root html
处理结果root值 + location值alias值
必须“/”结束

Demo说明

一、比如nginx配置的域名是www.wangshibo.com

location /huan/ {
      alias /home/www/huan/;
}

在上面alias虚拟目录配置下,访问http://www.wangshibo.com/huan/a.html实际指定的是/home/www/huan/a.html。

alias指定的目录后面必须要加上"/",即/home/www/huan/不能改成/home/www/huan

上面的配置也可以改成root目录配置,如下,这样nginx就会去/home/www/huan下寻找http://www.wangshibo.com/huan的访问资源,两者配置后的访问效果是一样的!

location /huan/ {
       root /home/www/;
}

二、配置文件

server {
      listen      80;
      server_name www.kevin.com;
     
      access_log  /data/nginx/logs/www.kevin.com-access.log main;
      error_log  /data/nginx/logs/www.kevin.com-error.log;
     
 location / {
      root /data/web/kevin;
      index index.php index.html index.htm;
      }
 
  location /document/ {
      alias /data/web/document/;
}
 
  }

访问http://www.kevin.com/admin 就会找到/data/web/kevin/admin目录
访问http://www.kevin.com/document 就会找到/data/web/document 目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值