我使用我的DNS提供商重定向example.com -> www.example.com
我已设置hello.example.com to myapp.herokuapp.com
(CNAME)
并将hello.example.com添加到heroku app上的域列表中。
现在,我想做的是,重定向
www.example.com -> hello.example.com
我是使用CNAME完成的。但是,这不起作用除非我将www.example.com添加到heroku应用程序上的域列表中。但我想要的行为是,www只是重定向到你好,并且应用程序从hello服务---甚至不需要涉及www。这听起来像DNS问题 - 想法?
答案 0 :(得分:0)
尽管某些DNS提供商已添加了可能出现的功能,但DNS并未执行重定向。您需要使用诸如rack-redirect之类的东西在您的应用程序中进行某种重定向(如果您正在编写Ruby应用程序)。如果您没有使用Heroku,那么您的网络服务器通常会这样做。
您基本上要做的是检查所请求的域名,如果它不是您的主要域名(即hello.example.com),那么您将其重定向到hello.example.com
MyApp::Application.config.middleware.insert_before(Rack::Lock, Rack::Rewrite) do
r301 %r{.*}, 'http://hello.example.com$&', :if => Proc.new {|rack_env|
rack_env['SERVER_NAME'] != 'hello.example.com'
}
end if Rails.env == 'production'