通配符子域,阻止所有其他

时间:2011-04-12 08:40:48

标签: .htaccess apache2 centos

我刚购买的新VPS存在一些问题。我正在尝试将Apache配置为在我的主网站上接受野生护理子域名,但允许这也意味着除了创建的域名外,我无法阻止所有其他子域名。

更明确一点,我有这个:

subdomain1.domain.com - >重定向正确(添加CNAME,文件夹确定,一切正常) subdomain2.domain.com - >与subdomain1相同

subdomainN.domain.com - > subdomainN不存在。因此,如果我写“stackoverflowreallyrocks.domain.com”,我将重定向到我的stackoverflowreallyrocks.domain.com,其中包含domain.com的内容 - 这不是很好。

有没有办法将所有不存在的子域重定向到domain.com?

主域的httpd.conf为:

<VirtualHost *:80>
    DocumentRoot "/home/domain"
    ServerName www.domain.com
    ServerAlias domain.com
</Virtualhost>
<VirtualHost *:80>
    ServerName subdomain1.domain.com
    DocumentRoot "/home/domain/_subdomain1"
</VirtualHost>
<VirtualHost *:80>
    ServerName subdomain2.domain.com
    DocumentRoot "/home/domain/_domain2"
</VirtualHost>

1 个答案:

答案 0 :(得分:1)

尝试在配置的底部添加另一个VirtualHost

<VirtualHost *:80>
    ServerName *
    ServerAlias *
</Virtualhost>

其他VirtualHost条目仍应匹配,因为它们是更好的匹配,并且位于通配符主机之前,允许不匹配的请求落入最后VirtualHost