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:

GoDaddy中的域名转发

如果你这样做,那么所有到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。 就是这样。

  1. 帐户pipe理器中 ,select我的域名

  2. select您想要pipe理的域名

  3. 在绿色框中,select更改域名点

  4. select高级DNS ,然后继续

  5. 首先,通过select编辑logging编辑Alogging

    对于“@无”input以下IP地址205.178.189.129,清除“www”和“*(所有其他)”的logging ,然后select继续

  6. 其次,通过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 
Interesting Posts