我已经通过以下方式configuration了具有子域的apache2虚拟主机:
在/ etc / apache2的/网站可用/网站:
<VirtualHost *> ServerName website.local ServerAlias sub.website.local DocumentRoot /home/myname/dev/website/web/ ... </VirtualHost>
/ etc / hosts文件
127.0.0.1 website.local 127.0.0.1 sub.website.local
它的工作原理! http://website.local和http://sub.websitel.local指向DocumentRoot。 现在,我如何重新configuration这个,以便任何子域http://*.website.local将指向DocumentRoot?
您可以使用通配符来匹配apache中的任何子域名:
serveralias *.website.local
问题是主机文件不支持通配符。 如果您使用本地dns绑定服务作为parsing器,您可以注册website.local区域并创builddns通配符。
在apache.conf中:
ServerAlias * .website.local
但是在/ etc / hosts中不能使用通配符。 你需要为此设置一个DNS服务器。