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

问题出在这里:我们用一个不提供IP地址的外部提供商托pipe我们的网站,而是给我们一个指向我们的www CNAMElogging的域名。 我假设他们正在使用某种types的虚拟主机,为请求的域读取标题并显示该网站。

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

有没有办法使我们的DNS在这个工作?

因为所有其他logging(SOA,NS,MX)上的所有logging都是非常重要的,所以CNAME对你的根目录通常是一个坏主意。

你的提供者应该真的让你指向一个地址,而不是一个名字。 我很感激他们正在尝试做的事情,给予他们更多的灵活性,以便根据需要来处理这个DNS条目,但在这种情况下,这会起反作用。

好的,这是前一段时间问的,已经有了一个可以接受的答案。

CNAME你的根目录通常是一个坏主意,

您不能使用CNAME作为您的根example.com域 。

用户抱怨网站closures[..],因为他们正在inputexample.com而不是www.example.com

有一个简单的解决scheme:

  • example.com在networking服务器的IP地址(A Record)
  • 发送一个HTTP 301redirect到您的www.example.com地址。

这个redirect最多可能需要两百毫秒,大多数用户永远不会注意到它。

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

或者,许多DNS托pipe服务提供商将其作为免费服务。 这将是最简单和最健壮的select; 把它留给专门负责这个redirect的人。 不同的DNS主机倾向于通过不同的名字来调用这个function,例如Gandi称之为“Web Forwarding”。

有没有办法使我们的DNS在这个工作?

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

假设CNAME解决的IP不会经常改变,并且没有什么太花哨的事情发生(例如,基于地理位置的负载平衡,使用CDN等),那么你可以“作弊”并为example.com添加一个A RR用CNAMEparsing的IP。 我会设置自动监视和更改Alogging,这样如果IP确实改变了,它将被自动处理(你也可能需要RR上的低TTL)。

不幸的是Alex的考虑仍然适用:当Host:header是example.com而不是www.example.com时,你需要configurationweb服务器来做正确的事情。

关于Shane Madden关于设置另一个Web服务器来做redirect的评论:一些DNS提供者有这个服务。 例如,DynDNS有“WebHops”。 http://www.dyndns.com/support/kb/webhops_redirections.html您将创build一个IP为204.13.248.125的example.com的Alogging,然后创build一个“networking”,将redirect到www.example.com。

最后,可能是时候得到一个新的虚拟主机服务,有你需要的function。

在我的问题之后,我想到的越多,听起来就像你拥有该区域的DNS一样。 问题在于,如果他们为www.example.com设置了虚拟主机,则不会为example.com做出回应。 为了完成这个工作,你必须有其他的东西来回答example.com,并让web服务器redirect到www.example.com。