And*_*ham 142 redirect cname heroku a-records
我试图弄清楚如何让我的网站的裸域重定向到www域.我正在使用Heroku并拥有GoDaddy的域名.由于Heroku,我的A记录已经设置为:
@:75.101.145.87
@:75.101.163.44
@:174.129.25.170
我的www CNAME指向proxy.heroku.com.
我一直在寻找互联网,但无法找到一个简单,免费的答案,我如何做这个重定向.一些答案讨论使用付费服务,我不想做,而其他人谈论进入和修改Heroku设置,但后来没有真正给出太多解释.现在,如果你去我的裸域,它只是Heroku说没有这样的应用程序存在,而如果你去我的www域它是我的应用程序.
Rya*_*gle 231
在GoDaddy上,使用"转发"功能设置向前yourdomain.com到www.yourdomain.com.可以在"域信息"部分底部的域管理器中访问转发功能:

如果您这样做,那么到yourdomain.com的所有流量都将被路由到Heroku应用程序CNAME(这是更好的方法).
但是,请注意,如果您在Cedar堆栈上,则不要使用CNAME proxy.heroku.com的主机www.而是使用your-app-name.herokuapp.com.这些细节包含在这里.
GoDaddy还指定,为了使您的域名转发,其A记录必须指向64.202.189.170或必须介于以下范围之间:50.63.202.1 - 50.63.202.31或184.168.221.1 - 184.168.221.31.
TMi*_*gan 22
您也可以使用http://wwwizer.com从您的裸域转发到您的www.在DNS管理器中的GoDaddy中,位于174.129.25.170的@ heading类型的A记录下.他们将自动从裸域重定向到带www的域.在它面前.
在GoDaddy的DNS区域编辑器中,您需要将CNAME记录www配置为指向@.在A记录中,您将使用通配符(*)指向IP地址,使用@作为主机的第二个A记录也将指向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
Run Code Online (Sandbox Code Playgroud)

经常问的问题
我可以将*.mydomain.com指向我的Heroku应用程序吗?
是的,使用Heroku的免费自定义域功能,您可以将通配符域指向您的应用程序.
我应该使用哪些IP地址将我的自定义域指向Heroku?
Heroku路由堆栈使用可随时更改的IP地址集合,并且不支持使用A记录指向您的应用程序.要确保您的域始终正确指向路由网格,请使用CNAME记录配置子域(例如www.example.org中的www):
If the app is on… Then CNAME the subdomain to
Bamboo yourapp.heroku.com
Cedar yourapp.herokuapp.com
Run Code Online (Sandbox Code Playgroud)
应该避免裸(或裸/顶点)域(例如example.org),因为它们的可用性和正常运行时间结果.
为什么我不能为我的应用添加subdomain.mydomain.com?
在某些情况下,尝试为应用添加自定义域(如subdomain.mydomain.com)可能会导致如下错误:
! mydomain.com is owned by another user
Run Code Online (Sandbox Code Playgroud)
给定基域的所有应用程序必须由同一个Heroku帐户拥有.上述错误表示其他人已将mydomain.com自定义域添加到其中一个应用中.
如果您在裸域上设置了IP地址,并且将www cname设置为yourappname.herokuapp.com,那么您需要做的就是在应用程序中使用类似RackRewrite的内容,以便在请求到达您的应用程序时重定向.
您想要设置的是对裸域的任何请求都会被重定向到您的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'
Run Code Online (Sandbox Code Playgroud)
这就是说,如果请求的URL不是www.yourdomain.com,那么301会将其重定向到www.yuordomain.com,但前提是它正在生产中运行.
| 归档时间: |
|
| 查看次数: |
85777 次 |
| 最近记录: |