0

example.com -> www.example.com我使用我的 DNS 提供商重定向

我已经设置hello.example.com to myapp.herokuapp.com (CNAME)

并将 hello.example.com 添加到我在 heroku 应用程序上的域列表中。

现在,我想做的是,重定向

www.example.com -> hello.example.com

我使用 CNAME 做到了这一点。但是,除非我将 www.example.com 添加到 heroku 应用程序的域列表中,否则这不起作用。但我想要的行为是,www 只是重定向到 hello,并且应用程序从 hello 获得服务——甚至不需要涉及 www。这感觉主要是一个 DNS 问题——想法?

4

1 回答 1

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'
于 2012-06-09T05:54:15.550 回答