我已经通过以下方式配置了带有子域的 apache2 虚拟主机:
在 /etc/apache2/sites-available/网站:
<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。现在,我该如何重新配置它,以便任何子域http://*.website.local
都指向 DocumentRoot?
答案1
您可以使用通配符来匹配 apache 中的任何子域名:
serveralias *.website.local
问题是 hosts 文件不支持通配符。如果您使用本地 dns 绑定服务作为解析器,您可以注册 website.local 区域并创建 dns 通配符。
答案2
在 apache.conf 中:
服务器别名 *.website.local
但是,在 /etc/hosts 中不能使用通配符。您需要为此设置 DNS 服务器。