root
設定網站的根路徑,用於各種比對器和指令,以存取檔案系統。如果未設定,預設網站根目錄為目前工作目錄。
特別是,此指令設定 {http.vars.root}
佔位符。它與同一個區塊中的其他 root
指令互斥,因此可以安全地定義多個根目錄,並使用會相交的比對器:它們不會串接並覆寫彼此。
此指令不會自動啟用提供靜態檔案,因此通常與 file_server
指令 或 php_fastcgi
指令 搭配使用。
語法
root [<matcher>] <path>
- <path> 是用於網站根目錄的路徑。
請注意,如果 <path>
引數以 /
開頭,可能會被剖析器誤認為 比對器代碼。為了解除歧義,請指定萬用字元比對器代碼 (*
)。請參閱以下範例。
範例
將網站根目錄設定為 /home/bob/public_html
(假設 Caddy 以使用者 bob
執行)
root * /home/bob/public_html
將網站根目錄設定為 public_html
(相對於目前的工作目錄),適用於所有要求
(這裡不需要比對記號,因為我們的網站根目錄是相對路徑,因此不會以正斜線開頭,不會造成歧義。)
root public_html
僅變更 /foo/*
中要求的網站根目錄
root /foo/* /home/user/public_html/foo
root
指令通常與 file_server
配對使用,用於提供靜態檔案,或與 php_fastcgi
配對使用,用於提供 PHP 網站
example.com {
root * /srv
file_server
}