为什么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>
部分涵盖指定目录和任何子目录。
类似 DocumentRoot
、VirtualDocumentRoot
、Alias
、RewriteRule
或 FallBackResource
的内容可能存在于映射 / 的 Apache 配置文件或 .htaccess 中/var/www/html 没有任何 部分明确列出它。
编辑:如果 apachectl -S
显示 Main DocumentRoot: "/var/www/html"
即使在您的配置文件中没有指定,这意味着该值是 Apache 构建中的默认编译值。
我在 所有 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>
部分涵盖指定目录和任何子目录。
类似 DocumentRoot
、VirtualDocumentRoot
、Alias
、RewriteRule
或 FallBackResource
的内容可能存在于映射 / 的 Apache 配置文件或 .htaccess 中/var/www/html 没有任何
编辑:如果 apachectl -S
显示 Main DocumentRoot: "/var/www/html"
即使在您的配置文件中没有指定,这意味着该值是 Apache 构建中的默认编译值。