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指令。