问题出在这里:我们用一个不提供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) 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。