无效的命令“ VirtualDocumentRoot”


13

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

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

它所引用的代码段是这样的:

<VirtualHost *:80>
        ServerAdmin help@mydomain.com
        VirtualDocumentRoot /local/www/staging/%1

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

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

Answers:


27

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

LoadModule vhost_alias_module modules/mod_vhost_alias.so

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


12
非常感谢你!那帮助我解决了。您发布的代码无法直接使用,但是我使用以下方式加载了该模块:a2enmod vhost_alias
andy 2012年

对您有好处,因为从提示开始,再加倍努力-那就意味着卓越!
MadHatter 2012年

3

我遇到的错误与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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.