總結:
- alias指定的目錄是準確的,root是指定目錄的上級目錄,並且該上級目錄要含有location指定名稱的同名目錄
- root的處理結果是:root路徑+location路徑 + http後面的地址
alias的處理結果是:使用alias路徑替換location路徑 + http後面的地址
- 關於 / 的使用:
- alias虛擬目錄配置中,location匹配的path目錄如果後面不帶"/",那麼訪問的url地址中這個path目錄後面加不加"/“不影響訪問,訪問時它會自動加上”/";
- 但是如果location匹配的path目錄後面加上"/",那麼訪問的url地址中這個path目錄必須要加上"/",訪問時它不會自動加上"/"。如果不加上"/",訪問就會失敗!
- root目錄配置中,location匹配的path目錄後面帶不帶 “/”,都不會影響訪問
- 爲了避免不必要的困擾可以都以 “/” 結尾
示例:
- 我在linux 服務器上有一個 html, 路徑如下
/app/test/index.html
- 我想通過 http://ip/test/index.html 來進行訪問:
- 可以在Nginx 的conf 中 nginx.conf 中加入配置:
location /test/ {
root /app/;
}
或者
location /test/ {
alias /app/test/;
}