无效命令‘VirtualDocumentRoot’

无效命令‘VirtualDocumentRoot’

我不确定为什么重新启动 apache 时会出现以下错误:

Invalid command 'VirtualDocumentRoot', perhaps misspelled or defined by a module not included in the server configuration Action 'start' failed.

它所指的片段是这样的:

<VirtualHost *:80>
        ServerAdmin [email protected]
        VirtualDocumentRoot /local/www/staging/%1

        ServerAlias *.staging.mydomain.com
</VirtualHost>

我以为是拼写错误,但其实它是直接从我的另一台服务器复制过来的。它在那里运行正常。有什么想法吗?

答案1

文档建议该指令由模块 vhost_alias 提供。您应该确保您拥有

LoadModule vhost_alias_module modules/mod_vhost_alias.so

服务器配置文件中的配置指令不起作用。

答案2

我遇到了和 Andy 一样的错误,但在我的例子中,情况有点不同。从 MadHatter 的回答中,我可以找出问题所在。

我的 apache2 服务器有点不同。它有 2 个目录,即/etc/apache2/mods-available& /etc/apache2/mods-enabled。在目录中mods-available,您将看到可加载模块配置文件的列表,在本例中,我看到一个名为的文件,vhost_alias.load其中包含以下配置:

LoadModule vhost_alias_module /usr/lib/apache2/modules/mod_vhost_alias.so

因此,我使用以下命令来启用此配置:

sudo a2enmod vhost_alias

相关内容