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目錄後面帶不帶"/",都不會影響訪問。nginx

root用來設置根目錄(至關於絕對路徑),而alias用來重置當前文件的目錄(至關於相對路徑)。ide

案例說明:

#則訪問/img/目錄下的文件時,nginx會去/var/www/image/img/目錄下找文件
location /img/ {
    root /var/www/image;
            .....
}
#則訪問/img/目錄裏面的文件時,ningx會自動去/var/www/image/目錄找文件
location /img/ {
    alias /var/www/image/;
            .....
}
相關文章
相關標籤/搜索