我应该如何配置我的 DNS 记录以将所有流量从一个域定向到另一个域?

How should I configure my DNS records to direct all traffic from one domain to another?

我有一个域名,mydomain.commydomain.biz,我希望后者成为前者的同义词:每当用户输入 www.mydomain.biz 时,他们就会被带到www.mydomain.com

我为 mydomain.com 准备了一切,并且认为,根据我的 limited understandingCNAME 记录可以完成我想做的事情,所以我有

NS     mydomain.biz.    =  (nameservers that work fine)
SOA    mydomain.biz.    =  (values that work fine)
CNAME  *.mydomain.biz.  =  mydomain.com.

当我 host mydomain.biz 我得到

www.mydomain.biz is an alias for mydomain.com.

后面是与我在 host mydomain.com 中得到的完全匹配的其他信息。然而,任何导航到 www.mydomain.biz 的尝试都会失败。

当我查看 propagation 的 NS 记录时,我也对我看到的内容感到困惑。检查 mydomain.biz 会给出上面指定的名称服务器,但检查 www.mydomain.biz 会给出为 mydomain.com

指定的值(在别处)

我这样做的方式不对吗?我应该如何配置我的 DNS 记录以将所有流量从一个域定向到另一个域。

DNS 无法重定向请求。让我们举个例子来说明 CNAME 做了什么:

CNAME:域 A ==> 域 B

这样做的目的是将对域 A 的请求发送到与域 B 相同的 IP。但是 URL 将保留为 domainA(因此它不是重定向,重定向实际上会更改 URL)。

如果您同意在两个不同的域下加载站点,那么 CNAME 记录就可以完成这项工作。但是,您需要确保您的服务器配置为处理来自域 A 和域 B 的请求。根据您的服务器环境,您这样做的方式非常不同。例如,如果您使用的是 apache,您的虚拟主机将决定处理哪些域(您可以将其设置为接受任何域)。但是,如果您在共享主机上,您可能会被限制在您注册的域中。添加更多内容取决于您的网络托管服务商,因此您必须接受他们的意见。

另一方面,如果您希望将访问者重定向到域 B,则必须将域 A 指向将 return HTTP 重定向的服务器。它可能是同一台服务器,如果请求是针对域 A,您只需将其配置为 return HTTP 重定向。