服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

使用Apache2将所有非www子域redirect到主www域

我有一个网站(domain.com),我想redirect我所有的二级域名(domain2.com,domain3.com)和这些域名的所有子域名(* .domain.com,* .domain2.com … )到主域www.domain.com(因为我希望后者是访问该网站的唯一URL)。 为此, 我创build了一个Apache虚拟主机来捕获所有这些可能性并redirect它们 (在configuration完DNS之后,这是不言而喻的)。 我把这个configuration放在Apache的文件夹“sites-enabled”的一个名为“999-catchall”的文件中。 注意:我使用这个名字来确保它是最后一个被检查的虚拟主机,因为我也有我的默认虚拟主机(000-默认为www.domain.com)和一个虚拟主机用于我的webmail(001-webmail for webmail.domain .COM)。 下面是这个“999-catchall”文件的内容: <VirtualHost *:80> # catch… ServerName domain.com ServerAlias domain2.com domain3.com *.domain.com *.domain2.com *.domain3.com # …and redirect RewriteEngine on RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC] RewriteRule ^(.*)$ http://www.domain.com$1 [R=301,L] </VirtualHost> 此configuration适用于domain.com,domain2.com,* .domain2.com,domain3.com和* .domain3.com, 但不适用于* .domain.com。 例如:如果我键入blabla.domain2.com,我被redirect到www.domain.com,但如果我inputblaba.domain.com,我不(我只是有一个“服务器找不到”的错误)。 我的方法是否正确? 你看到我的错误在哪里吗? 编辑:我的错误,我的DNS服务器没有正确configuration* .domain.com。 所以这个configuration工作,如果它可以帮助谁想要做同样的事情的人。