通配符子域目录名称

我在我的Apacheconfiguration中有以下内容:

<VirtualHost *:80> VirtualDocumentRoot /var/www/hosts/%0 ServerAlias *.test.galapagos.office </VirtualHost> 

在/ var / www / hosts中,我有一个名为jason.test.galapagos.office的目录和一个名为bill.test.galapagos.office的目录。 如果我在浏览器中访问jason.test.galapagos.office,就可以得到我期望看到的结果。 与账单一样。 换句话说,一切都运转良好。

但是,我对于发生的事情并不满意。 而不是/var/www/hosts/jason.test.galapagos.office和/var/www/hosts/bill.test.galapagos.office/,我想/ home / jason / web和/ home / bill / web 。

我如何告诉Apache映射到这些子目录呢?

谢谢,杰森

    尝试这个:

     <VirtualHost *:80> #VirtualDocumentRoot /var/www/hosts/%0 VirtualDocumentRoot /home/%1/web ServerAlias *.test.galapagos.office </VirtualHost> 

    我相信会发送“jason.test.galapagos.office”到“/ home / jason / web”

    VirtualDocumentRoot指令的完整列表可以在这里find:

    http://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html

      0全名
     1第一部分
     2第二部分
     -1最后一部分
     -2倒数第二部分
     2+第二个和所有后续的部分
     -2+倒数第二和所有前面的部分
     1+和-1+与0相同 

    这个改变能工作吗?

     VirtualDocumentRoot /home/%0/web 

    或者你可以考虑启用mod_userdir,默认情况下会看起来像http://test.galapagos.office/~bill/