root
设置网站的根路径,供各种匹配器和需要访问文件系统的指令使用。如果未设置,默认的网站根目录是当前工作目录。
具体来说,此指令设置 {http.vars.root}
占位符。它在同一块中与其他 root
指令是互斥的,所以定义多个相交匹配器的根目录是安全的:它们不会级联和相互覆盖。
此指令不会自动启用静态文件服务,所以它通常与 file_server
指令 或 php_fastcgi
指令 一起使用。
语法
root [<匹配器>] <路径>
- <路径> 是要用作网站根目录的路径。
在 v2.8.0 之前,如果 <路径>
参数以 /
开头,解析器可能会将其误认为是匹配器标记,因此需要指定通配符匹配器标记(*
)。
示例
将网站根目录设置为 /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
}