文件路径 alias与root区别

alias与root区别:

root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。
root的处理结果是:root路径+location路径
alias的处理结果是:使用alias路径替换location路径
 
alias是一个目录别名的定义,root则是最上层目录的定义。还有一个重要的区别是alias后面必须要用"/"结束,否则会找不到文件的。。。而root则可有可无
 
使用alias标签的目录块中不能使用rewrite的break
 
 

(1)以root方式设置资源路径    实际路径是root+请求路径。

语法:root path;
默认:root html;
配置块:http、server、location、if
location /download {
    root /etc/nginx;
}

请求的URI为https://10.21.144.110/download/,web服务器返回/etc/nginx/download/index.html的内容

location /installpack {
    root /etc/nginx;
}

请求的URI为https://10.21.144.110/installpack/10.21.144.110/diagent_setup32.zip,web服务器返回/etc/nginx/installpack/10.21.144.110/diagent_setup32.zip的内容

 
(2)以alias方式设置资源路径  实际路径是alias后的,不包含请求路径
语法:alias path;
配置块:location
location /download {
    alias /etc/nginx/download/;
}

请求的URI为https://10.21.144.110/download/,web服务器返回/etc/nginx/download/index.html的内容

 
 

(3)访问首页

语法:index file...;
默认:index index.html;
配置块:http、server、location
访问站点的URI是/,这时一般返回首页,index后可以跟多个文件参数,Nginx会按照顺序访问这些文件
location / {
    root path;
    index.html htmlindex.php 、index.php;;
}
Nginx首先访问path/index.html,若可以访问直接返回文件内容结束请求,否则尝试返回path/htmlindex.php内容,依次类推
 

(4)根据HTTP返回码重定向

语法:error_page code[code...][=|=answer-code]uri|@named_location
配置块:http、server、location、if

error_page 404 = @not_found
location @not_found {
      rewrite http://google.com;
}
#上述的作用是如果访问没有匹配的url会触发404指令,然后就匹配到@not_found 这个 location上。
 
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值