0

我想配置我的 apache 不同。现在,如果缺少 DocumentRoots 之一,则所有服务器都无法启动。这很烦人。。

有什么选择,如何忽略这个错误?

4

1 回答 1

1

基于您的 DocumentRoot 指令与 VirtualHost 同义使用的假设,您可以将 VirtualHosts 配置分离到单独的 conf 文件中,将它们单独放入其文档根目录中,然后将它们与目录范围的 include 指令一起包含在通用的服务器范围的 conf 中。请参阅下面的示例:

在下面的目录中创建一个conf:

/etc/apache/sites-enabled/sites.conf

添加以下内容

Include /data/www/sites/

这将包括上述目录和任何子目录中的任何 conf 文件

对于具有以下 DocumentRoot 的主机

/data/www/sites/website-one

创建一个 VirtualHost conf 文件并将其放在上述目录中,例如:

/data/www/sites/website-one/website-one.conf

您的 conf 文件将包含有关 VirtualHost 的所有信息,包括 DocumentRoot,例如

<VirtualHost *:80>
DocumentRoot /data/www/sites/website-one
ServerName www.website-one.com

# Other directives here

</VirtualHost>

如果 DocumentRoot 不存在,则不会加载 conf 文件并且不会执行 DocumentRoot 指令。出于安全原因,请注意不要让您的 conf 文件变得可取消引用。这可能应该在服务器级别禁用,但需要注意。最后,上述模式意味着/data/www/sites目录和子目录中的任何错误 conf 文件都会导致服务器无法启动。

于 2012-04-08T19:22:31.003 回答