[b]前言[/b]
最近在nginx上部署日志分析工具awstats时,在配置awstats分析结果可供网页浏览这步时,分析结果页面访问总是404.后来查阅了一些资料,发现是root和alias的用法区别没搞懂导致的,这里特地将这两者区别详尽道来,供大家学习参考。
root和alias都可以定义在location模块中,都是用来指定请求资源的真实路径,比如:
location /i/ {
root /data/w3;
}
请求 [code]http://foofish.net/i/top.gif [/code]这个地址时,那么在服务器里面对应的真正的资源是[code] /data/w3/i/top.gif[/code]文件
[b]注意:[/b]真实的路径是root指定的值加上location指定的值 。
[img]http://files.jb51.net/file_images/article/201610/20161010112646406.png?2016910112656[/img]
而 alias 正如其名,alias指定的路径是location的别名,不管location的值怎么写,资源的[b]真实路径都是 alias 指定的路径[/b] ,比如:
location /i/ {
alias /data/w3/;
}
同样请求 [code]http://foofish.net/i/top.gif[/code] 时,在服务器查找的资源路径是:[code] /data/w3/top.gif[/code]
[img]http://files.jb51.net/file_images/article/201610/20161010112748258.png?2016910112756[/img]
[b]其他区别:[/b]
1、 alias 只能作用在location中,而root可以存在server、http和location中。
2、alias 后面必须要用 “/” 结束,否则会找不到文件,而 root 则对 ”/” 可有可无。
[b]总结[/b]
以上就是这篇文章的全部内容了,希望能对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流