这是从我的服务器修改的VirtualHost设置。
<VirtualHost *:80> ServerName example.com DocumentRoot /mnt/example/public <Directory /mnt/example/public> AllowOverride all Options -MultiViews </Directory> </VirtualHost>
我发现我可以访问example.com和* .example.com,例如www.example.com,abcde.example.com等。
我知道应该有一个ServerAlias设置,让我激活通配符子域支持。 但我无法看到ServerAlias设置我的VirtualHost或Apacheconfiguration文件。
我只想允许www.example.com和example.com可以访问我的网站,而其他子域将得到一个404错误。
我怎样才能设置?
谢谢大家。 🙂
我想你在conf文件中的所有虚拟主机容器之前缺less的是:
NameVirtualHost *:80
一旦你这样做了,取决于你想为所有那些你认为是“无效”的通配符做什么,你可以创build所需的<virtualhost>容器,然后用最后一个包含通配符。
请参阅http://httpd.apache.org/docs/2.2/vhosts/name-based.html
例如,我所做的是为myhost.mydomain.tld提供一个虚拟主机容器,然后是其他任何域,最后,我有一个容器* .mydomain.tld,基本上指向一个静态页面,通知人们想要自己的事业。