无效的命令“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> 

我认为这是一个拼写错误,但它是从我的另一台服务器直接复制。 它在那里完美。 有任何想法吗?

文档build议该指令由模块vhost_alias提供。 你应该确保你有

 LoadModule vhost_alias_module modules/mod_vhost_alias.so 

configuration指令在服务器的configuration文件中不起作用。

我有和安迪一样的错误,但就我而言,情况有些不同。 从MadHatter的回答中,我可以想出这个问题。

我的apache2服务器有点不同。 它有2个目录,即/etc/apache2/mods-available/etc/apache2/mods-enabled 。 在目录mods-available你会看到一个可载入的模块configuration文件的列表,在这种情况下,我看到一个名为vhost_alias.load的文件,其中包含configuration为

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

所以,我用下面的命令来启用这个configuration:

 sudo a2enmod vhost_alias