有没有办法将根域指向 CNAME?

Rya*_*ier 10 domain-name-system domain root cname-record

问题是:我们通过外部提供商托管我们的网站,该提供商不给我们 IP 地址,而是给我们一个域,我们将 www CNAME 记录指向该域。我假设他们正在使用某种类型的虚拟主机来读取请求域的标题并显示该网站。

无论如何,我们的许多用户抱怨网站已关闭,实际上并不是因为他们在浏览器中输入 example.com 而不是 www.example.com。

有没有办法在我们的 DNS 中完成这项工作?

Jes*_*r M 11

好的,这是前一段时间问过的,并且已经有一个公认的答案......

CNAME 对你的根进行 CNAME 通常是一个坏主意,

您不得为根example.com使用CNAME

用户抱怨网站已关闭 [..] 因为他们输入的是 example.com 而不是 www.example.com

有一个简单的解决方案:

  • 指向example.com网络服务器的 IP 地址(A 记录),
  • 它向您的地址发送HTTP 301 重定向www.example.com

这种重定向最多可能需要 200 毫秒,而且大多数用户从未注意到它。

你可以自己做这件事,通过设置一个网络服务器和几行 PHP / ASP / 。HTACCCES等。请注意,这不一定是您的主要生产网络服务器;任何具有静态 IP 地址的廉价共享虚拟主机都可以。

或者,许多 DNS 托管服务提供商将此作为一项免费服务。这将是最简单和最强大的选择;把它留给专门从事这个的人来主持这个重定向。不同的 DNS 主机倾向于使用不同的名称来调用此功能,例如 Gandi 将其称为“网络转发”。

有没有办法在我们的 DNS 中完成这项工作?

你的意思是,纯粹在 DNS 中而不使用网络服务器?不,那里没有。


Sha*_*den 10

对您的根进行 CNAME 通常是一个坏主意,因为根上的所有其他记录(SOA、NS、MX)往往非常重要。

您的提供商真的应该允许您指向地址而不是名称。我很欣赏他们正在尝试做的事情,让他们更灵活地根据需要处理该 DNS 条目,但在这种情况下会适得其反。

  • 嗯,是的,但这不是一个好的解决方案。您可以通过根上的 A 记录在您指向的某处放置一个 HTTP 服务器,然后该服务器将对所有传入请求发送 301 重定向,以将它们发送到 www.example.com。但是,从财务角度来看,这毫无意义,因为您已经为托管付出了高昂的代价。尝试向您的提供商解释这种情况,他们可能会发现他们的方式有误。 (2认同)