v2中文文档
项目

root

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

具体来说,这个指令设置了{http.vars.root}占位符。它与同一区块中的其他`root'指令是相互排斥的,所以用相交的匹配器定义多个根是安全的:它们不会级联和相互覆盖。

该指令不会自动启用静态文件的服务,所以它通常与file_server指令php_fastcgi指令一起使用。

语法

root [<matcher>] <path>
  • <path> 是用于网站根目录的路径。

注意<path>参数如果以/开头,可能会被解析器混淆为[匹配器标记](/docs/caddyfile/matchers#syntax)。为了消除混淆,可以指定一个通配符匹配器标记(*)。见下面的例子。

示例

为所有请求设置网站根目录为/home/user/public_html

(注意,这里需要一个通配符匹配器,因为第一个参数与路径匹配器不明确。)

root * /home/user/public_html

为所有请求设置网站根目录为public_html(相对于当前工作目录)。

(这里不需要匹配器标记,因为我们的网站根目录是一个相对路径,所以它不是以正斜杠开始的,因此不会产生歧义。)

root public_html

只为/foo/*中的请求改变网站根。

root /foo/* /home/user/public_html/foo

root "指令通常与file_server配对,为静态文件提供服务,或者与php_fastcgi配对,为PHP网站提供服务。

root * /home/user/public_html
file_server