Nginx之alias和root指令

服务器

浏览数:152

2019-9-10

alias与root区别:

(1)alias指定的目录是准确的,即location匹配访问的path目录下的文件直接是在alias目录下查找的;
(2)root指定的目录是location匹配访问的path目录的上一级目录,这个path目录一定要是真实存在root指定目录下的;
(3)使用alias标签的目录块中不能使用rewrite的break;另外,alias指定的目录后面必须要加上”/”符号!
(4)alias虚拟目录配置中,location匹配的path目录如果后面不带”/”,那么访问的url地址中这个path目录后面加不加”/”不影响访问,访问时它会自动加上”/”; 但是如果location匹配的path目录后面加上”/”,那么访问的url地址中这个path目录必须要加上”/”,访问时它不会自动加上”/”。如果不加上”/”,访问就会失败!
(5)root目录配置中,location匹配的path目录后面带不带”/”,都不会影响访问。

root用来设置根目录(相当于绝对路径),而alias用来重置当前文件的目录(相当于相对路径)。

案例说明:

#则访问/img/目录下的文件时,nginx会去/var/www/image/img/目录下找文件
location /img/ {
    root /var/www/image;
            .....
}
#则访问/img/目录里面的文件时,ningx会自动去/var/www/image/目录找文件
location /img/ {
    alias /var/www/image/;
            .....
}

作者:MaAiQiang