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
}