使用通配符为域和文档根目录设置虚拟主机别名 – doc根目录未正确parsing

我只是对这个问题中使用正确的术语有一个模糊的概念,所以请随意通过澄清来帮助我。

我有一个虚拟主机设置。 这个想法是,我想要一个通配符路由所有请求root.TERM.lh/TERM/文档根。

下面的设置可以识别域并相应地路由它们,但它不会将文档根中的%1转换为TERM。 例如,Apache错误日志告诉我,对于root.mywebsite.lh的请求,它试图路由到/Users/hollsk/Dev/websites/%1 ,所以它将它解释为一个文字string。

我的语法不正确,还是我缺less一些模块?

 NameVirtualHost * <VirtualHost *> ServerName root.%1.lh ServerAlias root.%1.lh DocumentRoot /Users/hollsk/Dev/websites/%1/ </VirtualHost> 

这种风格的configuration需要使用附加模块,而不是核心虚拟主机指令。

请参阅VirtualDocumentRoot: http : //httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html

我的语法微妙不正确。

 NameVirtualHost * <VirtualHost *> ServerName root.%2.lh ServerAlias root.%2.lh DocumentRoot /Users/hollsk/Dev/websites/%2/ </VirtualHost> 

注意%2而不是%1 – 仍然不知道为什么%1被字面解释(而不是stringroot ,这是我所期望的),但是改变到正确的句柄在任何情况下都解决了这个问题。