是否可以设置 DNS 记录以将所有example.com/*
流量重定向到www.example.com/*
?
我设立Heroku 的自定义域插件,并且文档讨论了将流量重定向到特定域。我还阅读了如何使用Rack 重写。但是,我想知道是否有办法通过 DNS 来做到这一点,即无需点击我的应用程序。
答案1
无法通过 DNS 执行您所要求的操作。
DNS 只是将主机名解析为 IP 地址,没有“重定向”功能
如果您希望用户仅通过 www.example.com 使用您的应用程序,则您必须使用您链接到的 rack 重写提示在应用程序中执行此操作。
答案2
假设你同意更改 DNS 服务器,则可以使用DNSimple 的“URL” DNS 类型。这将在 DNS 级别解决您的问题。
在本文中提到Heroku 文章:避免裸域名。
答案3
如果你在 heroku 上,最简单的方法是使用通配符域名
heroku addons:add custom_domains:wildcard
这会将所有子域名 *.example.com(包括 www)重定向至 example.com。
如果您具有名称服务器的 root 访问权限,则必须添加:
www IN A xxx.xxx.xxx.xxx
或者
* IN A xxx.xxx.xxx.xxx
对于通配符,其中 xxx.xxx.xxx.xxx 是您的 IP,或者
www IN A myapp.heroku.com.
* IN A myapp.heroku.com.
如果你有一个未知/动态 IP
答案4
简短回答:将您的“裸”域名记录指向174.129.25.170
。
长答案:wwwizer.com 提供免费重定向服务。它会重定向到您尝试访问的任何域,只需在前面添加“www”。常见问题解答请访问http://wwwizer.com/naked-domain-redirect对于那些对细节感兴趣的人。