我在我的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/