区别:
在Nginx配置文件中,指定文件路径有两种方式,分别是root和alisa,两者的区别在于Nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。
先来看看alisa的写法:
location /v9/ { alias /data/wwwroot/front/v9/; autoindex on; }
注意事项:
- 使用alias时,目录名后面一定要加"/";
- alias可以指定任何名称;
- alias在使用正则匹配时,必须捕捉要匹配的内容并在指定的内容处使用;
- alias只能位于location块中;
当请求的URI为/v9/static/homepage.7c7547f0.png时,Nginx会把URI拼接在alisa中填写的目录之后,但不包含location后面配置的路径,即/data/wwwroot/front/v9/static/homepage.7c7547f0.png。
再来看root的写法:
location /v9/ { root /data/wwwroot/front; index html; allow all; }
当请求的URI为/v9/static/homepage.7c7547f0.png时,那么Nginx将会在服务器上查找“/data/wwwroot/front/v9/static/homepage.7c7547f0.png”文件。
总结:
从这两个例子可以看出alias命令和root命令的区别:alias指定的是当前目录;而root指定的是根目录,一般情况下,在location /中配置root,在location /other中配置alias