从零学nginx-root,alias,index

8 篇文章 0 订阅
5 篇文章 0 订阅

1. root

root模块就是用来指定访问资源的document_root,nginx会将root的值和location的值进行拼接,然后再拼接上url剩余的部分及index指定的值,举例:

location /a/{
    root    /usr/local;
    index    1.html;
}

访问结果如下:

/a --> /usr/local/a/1.html
/a/b --> /usr/local/a/b/1.html

2. alias

alias模块也是用来指定访问资源的document_root,但是nginx会将alias的值替换location的值,然后再拼接上url剩余的部分及index指定的值,举例:

location /a/{
    alias    /usr/local;
    index    1.html;
}

访问结果如下:

/a --> /usr/local/1.html
/a/b --> /usr/local/b/1.html

alias模块有点需要注意:alias指定的是document_root,不能直接指定到具体的文件,否则会500,例如:

location /a/{
    alias    /usr/local/1.html;
    #index    1.html;
}
这种配置会让nginx报出500

3. index

通过上面的两个例子,我们知道index就是用来指定具体的资源的名字的,index可以指定多个资源的名字,第一个匹配不到,就会匹配第二个,直到匹配到为止。
但是location使用严格匹配的时候,不能使用index,否则会导致root失效,如:

location =/a/{
    root    /usr/local/;
    index    1.html;
}
当访问的url为/a/时,实际访问的资源为:nginx的默认document_root/a/1.html,使得root失效,值得注意的是nginx的默认document_root和我们root指定的是不一样的,所以最后会404
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值