root
設定網站的根路徑,供各種存取檔案系統的比對器和指令使用。若未設定,預設網站根目錄為目前的工作目錄。
具體來說,此指令會設定 {http.vars.root}
佔位符。它與同一區塊中的其他 root
指令互斥,因此可以安全地使用相交的比對器定義多個根目錄:它們不會級聯並互相覆寫。
此指令不會自動啟用靜態檔案伺服,因此通常與 file_server
指令 或 php_fastcgi
指令 一起使用。
語法
root [<matcher>] <path>
- <path> 是要用於網站根目錄的路徑。
在 v2.8.0 之前,如果 <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
}