Heroku / GoDaddy:发送裸体域名到www
我想弄清楚如何让我的网站的裸域redirect到www域。 我正在使用Heroku,并从GoDaddy有域名。 由于Heroku,我的Alogging已经被设置为:
@:75.101.145.87
@:75.101.163.44
@:174.129.25.170
而我的CNAME指向proxy.heroku.com。
我一直在寻找所有的互联网,但无法find一个简单的,免费的答案,我可以做这个redirect。 有些答案讨论使用付费服务,我不想这样做,其他人谈论进入和修改Heroku的设置,但没有给予太多的解释。 现在,如果你去我的裸域,只是Heroku说没有这样的应用程序存在,而如果你去我的www域它是我的应用程序。
在GoDaddy上,使用“转发”function从yourdomain.com
设置转发到www.yourdomain.com
。 可以在“域信息”部分底部的域pipe理器中访问转发function:
如果你这样做,那么所有到yourdomain.com的stream量将被路由到Heroku应用CNAME(这是更好的方法 )。
但是,请注意,如果您在Cedar堆栈上,请不要使用proxy.heroku.com
作为您的www
CNAME主机。 请使用your-app-name.herokuapp.com
。 这些细节在这里介绍 。
GoDaddy还规定 ,为了您的域名转发,其Alogging必须指向64.202.189.170或必须介于以下范围之间:50.63.202.1 – 50.63.202.31或184.168.221.1 – 184.168.221.31。
您也可以使用http://wwwizer.com从您的裸域转发到您的www。; 在GoDaddy中的DNSpipe理器中,在174.129.25.170的@标题types的Alogging下。 他们将自动从裸域redirect到www。 在它前面。
在GoDaddy的DNS区域编辑器中,您需要将CNAMEloggingwwwconfiguration为指向@。 在A Record中,您将使用通配符(*)指向IP地址,使用@作为主机的第二个A Record也将指向该Web地址。 这条路,
subdomain1.example.com will forward to your IP www.example.com will forward to your IP silly.example.com will forward to your IP anything.example.com will forward to your IP
经常问的问题
我可以将* .mydomain.com指向我的Heroku应用程序吗?
是的,使用Heroku的免费自定义域function,您可以将通配域指向您的应用程序。
我应该使用哪些IP地址将自定义域名指向Heroku?
Heroku路由堆栈使用可随时更改的IP地址集合,并且不支持使用Alogging指向您的应用程序。 为确保您的网域始终正确指向路由网格,请使用CNAMEloggingconfiguration子域名(例如www.example.org中的www):
If the app is on… Then CNAME the subdomain to Bamboo yourapp.heroku.com Cedar yourapp.herokuapp.com
由于其可用性和正常运行时间的结果,应该避免裸露(或裸露/顶点)域(例如example.org)。
为什么我不能为我的应用程序添加subdomain.mydomain.com?
在某些情况下,尝试为应用程序添加自定义域(如subdomain.mydomain.com)可能会导致如下错误:
! mydomain.com is owned by another user
给定基本域的所有应用程序都必须由同一个Heroku帐户拥有。 上述错误意味着其他人已经将mydomain.com自定义域添加到他们的某个应用程序中。
如果你的IP地址设置在你的裸域上,而你的WWW域名设置为yourappname.herokuapp.com,那么你所需要做的就是在你的应用程序中使用类似RackRewrite的东西来redirect请求。
你想要设置的任何请求到裸域被redirect到您的www地址。 按照安装说明在config / initializers中添加一个初始化程序
ApplicationName::Application.config.middleware.insert_before(Rack::Lock, Rack r301 %r{.*}, 'http://www.yourdomain.com$&', :if => Proc.new {|rack_env rack_env['SERVER_NAME'] != 'www.yourdomain.com' } end if Rails.env == 'production'
也就是说,如果请求的URL不是www.yourdomain.com,那么301将它redirect到www.yuordomain.com,但只有在生产中运行。
要使用Network Solutions,请执行以下操作:
networking解决scheme将yourdomain.com指向www.yourdomain.com。 就是这样。
在帐户pipe理器中 ,select我的域名
select您想要pipe理的域名
在绿色框中,select更改域名点
select高级DNS ,然后继续
首先,通过select编辑logging来编辑Alogging
对于“@无”input以下IP地址205.178.189.129,清除“www”和“*(所有其他)”的logging ,然后select继续
其次,通过select编辑CNAMElogging来编辑主机别名(CNAMElogging)
在“别名”列中input“www”
将TTL设置为7200,但在同一行上,在其他主机部分input博客服务提供的名称服务器[IE立即按照HEROKU说明www – > yourapp.herokuapp.com(Cedar Stack)]
select继续
现在用以下terminal命令等待并检查域(s):
host domain.com host www.domain.com