文档
项目提供支持

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
}