0

尝试启动 Apache 时,我不断收到错误消息:

</VirtualHost> without matching <VirtualHost> section

...参考下面列出的 Apache 配置文件的第 4 行:

<VirtualHost 74.117.238.120:80>
   ServerName www.mydomain.biz    
   DocumentRoot /var/www/mydomain
</VirtualHost>

<VirtualHost 74.117.238.120:80>
   ServerName codejerk.mydomain.biz   
   DocumentRoot /var/www/codejerk
</VirtualHost>

<VirtualHost 74.117.238.120:80>
   ServerName www.mydomain.tk   
   DocumentRoot /var/www/mydomain
</VirtualHost>

<VirtualHost 74.117.238.120:80>
   ServerName codejerk.mydomain.tk
   DocumentRoot /var/www/codejerk
</VirtualHost>

'Listen' 和 'NameVirtualHost' 指令位于调用此指令的文件中:

Listen 80
NameVirtualHost 74.117.238.120:80

这让我发疯——显然每个 VirtualHost 块都有一个开始和结束标签......

有人有想法么?

提前致谢!

4

3 回答 3

4

当您使用 '\r\n' 而不是 unix 格式 '\n' 以 PC/Windows 格式保存 vHost 文件时,通常会发生这种情况。以 unix 格式再次保存这些文件可以解决问题。

此外,如果存在,还需要删除字节顺序标记 (BOM)。

于 2015-06-16T10:53:23.307 回答
0

我通过将 apache2/sites-available/default 和 /apache2/ports.conf 的内容合并到 apache2/apache2.conf 并删除包含这些文件的行来解决这个问题。

显然,包含这些其他文件的顺序有问题。

于 2013-02-03T21:43:35.603 回答
0

当您的配置文件有BOM时,apache2 会显示此奇怪的消息。

大多数工具会隐藏/忽略 BOM,但您可以使用命令轻松检测到它file

% file /etc/apache2/conf-available/maxclients.conf 
/etc/apache2/conf-available/maxclients.conf: UTF-8 Unicode (with BOM) text
于 2019-05-16T09:39:18.763 回答