我刚刚设置了 apache2/mysql 服务器来试用。但我发现与之前看到的不同。根目录指向 /var/www/html/。我检查了 /etc/apache2/apache2.conf 文件,并显示
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
这说明根目录指向 /var/www/。这是一个错误吗?我还想知道为什么他们把 /var/www/html 改为 /var/www/。
答案1
通常,默认配置(例如/var/www/html
)在 中定义/etc/apache2/sites-enabled
,并覆盖 中的配置apache2.conf
。这是正常行为,通常的做法是将您的 vhost 配置作为单独的文件添加到 中,/etc/apache2/sites-available
然后将启用的配置符号链接到/etc/apache2/sites-enabled
。
如果您想编辑默认配置,请编辑/etc/apache2/sites-available/000-default.conf
。
答案2
该Directory
指令不定义根目录。相反,它定义了 Apache 应如何处理该目录中的文件(如果正在提供这些文件)。如果通过 访问根目录之外的文件,也可以提供这些文件Alias
。
Apache 配置为所有设置选项的原因/var/www
可能是您可以轻松拥有多个站点,每个站点都有自己的DocumentRoot
。这样您就不必Directory
在每个站点上重复。
答案3
您可以根据需要在任何位置定制根目录。这不是错误。他们更改它是有原因的。他们不想将文件直接放入 www 目录。