root和alias都可以定义在location模块中,都是用来指定请求资源的真实路径,但又有区别:
采用如下设置
location /static/ {
root /data/w3;
}
实际访问http://domain.com/static/fac.ico时,
在服务器正真对应的资源地址为/data/w3/static/fac.ico,此处真实路径是root指定的值加上location指定的值。
而采用alias(别名)不管location的值怎么写,资源的真实路径都是 alias 指定的路径
location /static/ {
alias /data/w3/;
}
实际访问http://domain.com/static/fac.ico时,
在服务器正真对应的资源地址为/data/w3/fac.ico.
其他区别
- alias 只能作用在location中,而root可以存在server、http和location中。
- alias 后面必须要用 “/” 结束,否则会找不到文件,而 root 则对 ”/” 可有可无。