使用nginx設置root時要注意一個問題,就是如果該root設置的前端目錄不是根目錄,那麼在寫root的絕對位址時,要把前端目錄的部分省略掉。
我們用設置虛擬目錄指向的alias來和root比較一下就非常明顯了

alias

location /abc/ {
    alias /home/html/abc/;
}

 

在這段配置下,http://test/abc/a.html就指定的是 /home/html/abc/a.html。這段配置亦可改成

root

location /abc/ {
    root /home/html/;
}

 

可以看到,使用root設置目錄的絕對路徑時,少了/abc,也就是說,使用root來設置前端非根目錄時,nginx會組合root和location的路徑。

另外,使用alias時目錄名後面一定要加“/”

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料