为什么Apache会自动找到网站目录?

Why does Apache find the website directory automatically?

我在 所有 Apache 配置文件 中唯一的 <Directory> 是:

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

实际上服务器上的真实目录是/var/www/html/。目录 /var/www/ 没有文件,只有子目录 html.

所以访问我网站的根目录应该会失败,因为 /var/www/index.html 不存在。但是它并没有失败,显示了 /var/www/html/index.html 的内容,即使我没有在配置文件中指定它。

为什么?

<Directory> 部分涵盖指定目录和任何子目录。

类似 DocumentRootVirtualDocumentRootAliasRewriteRuleFallBackResource 的内容可能存在于映射 / 的 Apache 配置文件或 .htaccess 中/var/www/html 没有任何 部分明确列出它。

编辑:如果 apachectl -S 显示 Main DocumentRoot: "/var/www/html" 即使在您的配置文件中没有指定,这意味着该值是 Apache 构建中的默认编译值。