alias實現虛擬目錄 alias與root的用法區別
最基本的區別:alias指定的目錄是准確的,root是指定目錄的上級目錄,並且該上級目錄要含有location指定名稱的同名目錄。另外,根據前文所述,使用alias標簽的目錄塊中不能使用rewrite的break。
(1) . alias虛擬目錄配置中,location匹配的path目錄如果后面不帶"/",那么訪問的url地址中這個path目錄后面加不加"/"不影響訪問,訪問時它會自動加上"/";
但是如果location匹配的path目錄后面加上"/",那么訪問的url地址中這個path目錄必須要加上"/",訪問時它不會自動加上"/"。如果不加上"/",訪問就會失敗!
(2) . root目錄配置中,location匹配的path目錄后面帶不帶"/",都不會影響訪問。
所以,一般情況下,在nginx配置中的良好習慣是:
1)在location /中配置root目錄;
2)在location /path中配置alias虛擬目錄。
When location matches the last part of the directive’s value:
location /images/ {
alias /data/w3/images/;
}
it is better to use the root directive instead:
location /images/ {
root /data/w3;
}