文档
一个 项目

root

设置站点的根路径,供各种访问文件系统的匹配器和指令使用。如果未设置,默认站点根为当前工作目录。

具体来说,该指令会设置 {http.vars.root} 占位符。它与同一块中的其他 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
}