Nginx中alias和root的区别

发布时间 2023-12-18 15:22:13作者: 厚礼蝎
location /i {   #www.a.com/i/123.gif
 	alias /var/www/html/images/;  #/var/www/html/images/123.gif
}

在这个location段配置中,如果url请求 /i/logo.gif,那么Nginx将会在服务器上查找 /var/www/html/images/logo.gif 文件,也就是说请求的url中location后面的部分会被追加到alias指定的目录后面,而 location 后面的 /i 路径将被 自动丢弃

对比:

location /i { # www.a.com/i/123.gif
 	root /var/www/html/images/;  #/var/www/html/images/i/123.gif
}

在这个location段配置中,如果url请求 /i/logo.gif,那么Nginx将会在服务器上查找 /var/www/html/images/i/logo.gif 文件。

从这两个例子可以看出,alias指令和root指令的区别:alias指定的目录是当前目录,而root指定的是根目录

一般情况下,建议在 location / 中通过root指令来配置根目录,而在其它目录匹配的位置使用alias指令。