root和alias都可以定义在location模块中,都是用来指定请求资源的真实路径
1. root
location /index/ {
root /project/data;
}
请求 http://linbolun.cn/index/a.png 这个地址时,那么在服务器里面对应的真正的资源是 /project/data/index/a.png文件
2. alias
而 alias 正如其名,alias指定的路径是location的别名,不管location的值怎么写,资源的真实路径都是 alias 指定的路径
location /index/ {
alias /project/data;
}
请求 http://linbolun.cn/index/a.png 这个地址时,那么在服务器里面对应的真正的资源是 /project/data/a.png文件
其他区别:
1、alias 只能作用在location中,而root可以存在server、http和location中。
2、alias 后面必须要用 /
结束,否则会找不到文件,而 root 则对 /
可有可无。