总结:
- alias指定的目录是准确的,root是指定目录的上级目录,并且该上级目录要含有location指定名称的同名目录
- root的处理结果是:root路径+location路径 + http后面的地址
alias的处理结果是:使用alias路径替换location路径 + http后面的地址 - 关于 / 的使用:
- alias虚拟目录配置中,location匹配的path目录如果后面不带"/",那么访问的url地址中这个path目录后面加不加"/“不影响访问,访问时它会自动加上”/";
- 但是如果location匹配的path目录后面加上"/",那么访问的url地址中这个path目录必须要加上"/",访问时它不会自动加上"/"。如果不加上"/",访问就会失败!
- root目录配置中,location匹配的path目录后面带不带 “/”,都不会影响访问
- 为了避免不必要的困扰可以都以 “/” 结尾
示例:
- 我在linux 服务器上有一个 html, 路径如下
/app/test/index.html
- 我想通过 http://ip/test/index.html 来进行访问:
- 可以在Nginx 的conf 中 nginx.conf 中加入配置:
location /test/ {
root /app/;
}
或者
location /test/ {
alias /app/test/;
}