DNS 通配符条目从 *.domain.com 到 www.domain.com

DNS 通配符条目从 *.domain.com 到 www.domain.com

如果用户输入 ww2.domain.com,他应该被重定向到 www.domain.com。对于所有类型的子域(例如 xxx.domain.com、ww.domain.com 等),这应该是可能的。我应该如何设置 DNS 记录?

这个 DNS 条目能起作用吗?

*.domain.com.   CNAME (Type)    3600 (TTL)  www.domain.com.

解决方案:

这涉及几个步骤。首先,我创建了 DNS 通配符条目,如下所示

*.domain.com A 3600 1.2.3.4
domain.com A 3600 1.2.3.4

然后在网站主机设置中,我添加了一个 SEO 重定向*.domain.tld => www.domain.tld,其中 R=301,L。此外,对于别名域,子域的通配符已激活。然后我添加了htaccess以下规则:

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

RewriteCond %{http_host} ^www\.some-domain\.com [NC]
RewriteRule ^(.*)$ http://www.main-domain.com [R=301,NC]

答案1

这应该可以正常工作,但是,我可能会使用 A 记录而不是 CNAME 记录来保存额外的查找。

另外,请记住,这将解决将它们重定向到 www.domain.com。但不会重定向。因此,例如,如果用户开始意外使用 ww.example.com - 他们将被引导相信这是正确的网址,这可能会导致后续问题。不过,您需要在 Web 服务器上解决此问题。

答案2

如果您想要将所有子域名重定向到您的 www 子域名,您可以为通配符设置 A 记录(如果您想要重定向没有任何子域名的域名,也可以设置 @ 记录)。

但请记住您必须在服务器上进行重定向!

相关内容