Nginx之alias和root指令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx之alias和root指令相关的知识,希望对你有一定的参考价值。

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/;
            .....
}

以上是关于Nginx之alias和root指令的主要内容,如果未能解决你的问题,请参考以下文章

Nginx content阶段 static模块 root alias指令使用规则

nginx的locationrootalias指令用法和区别

nginx 中指定文件路径root和alias的区别

nginx location和alias的区别

Nginx之常用基本配置

nginx