1.root与alias的区别
1.1 首先看如下配置:
server {
listen 8081;
server_name nginx-study.nrsc.com;
#访问路径:http://nginx-study.nrsc.com:8081/yoyo/a.html
#a.html在服务器上的绝对路径为:/usr/local/nrsc-programs/html/yoyo/a.html
location /yoyo {
root /usr/local/nrsc-programs/html/;
}
#访问路径:http://nginx-study.nrsc.com:8081/target/b.html
#b.html在服务器上的绝对路径为:/usr/local/nrsc-programs/html/yoyo/b.html
location /target {
alias /usr/local/nrsc-programs/html/yoyo/;
}
}
按照上面注释中的路径进行访问,可以分别获得到a页面和b页面,效果分别如下:
1.2 root与alias到底有啥区别???
- 仔细看下面的图,肯定就能明白了:
- 小结一下
假如location匹配到了/XXX,未匹配到/YYY,则:- 用root : 访问到的静态资源为root后的路径/XXX/YYY
- 用alias :访问到的静态资源为root后的路径/YYY
2. 巩固
2.1上面讲的如果真的明白了,就可以很清楚的知道下面的配置中,第二个配置是错误的.
server {
listen 8082;
server_name nginx-study.nrsc.com;
#访问路径:http://nginx-study.nrsc.com:8082/index-page1 ----> 可以访问到
#c.html在服务器上的绝对路径为:/usr/local/nrsc-programs/html/yoyo/c.html
#index后面的页面是缺省进入的页面
location /index-page1 {
alias /usr/local/nrsc-programs/html/yoyo/;
index c.html;
}
#访问路径:http://nginx-study.nrsc.com:8082/index-page2 ----> 无法访问到
#d.html在服务器上的绝对路径为:/usr/local/nrsc-programs/html/yoyo/d.html
location /index-page2 {
root /usr/local/nrsc-programs/html/yoyo/;
index d.html;
}
#访问路径:http://nginx-study.nrsc.com:8082 ----> 可以访问到
#c.html在服务器上的绝对路径为:/usr/local/nrsc-programs/html/yoyo/d.html
location /{
root /usr/local/nrsc-programs/html/yoyo/;
index d.html;
}
}
2.2 稍微讲讲index
讲解内容看下图,两句话总结一下:
- index后面的页面为缺省页面
- index后的页面可以配置多个,按照先后顺序,先被匹配到的页面就是你访问到的页面.