2012-06-09 47 views
0

我重定向example.com -> www.example.com使用Heroku的dns鍵入多個子

我已經設置hello.example.com to myapp.herokuapp.com(CNAME)我的DNS提供商

,並添加hello.example.com到我的域上Heroku的應用程序列表。現在

,我想這樣做則,重定向

www.example.com -> hello.example.com 
我這樣做是使用CNAME

。但是,這不起作用除非我將www.example.com添加到heroku應用的我的域列表中。但是我想要的行爲是,www只是重定向到hello,並且應用程序從hello獲得服務---不需要甚至涉及www。這感覺就像一個主要的DNS問題---想法?

回答

0

DNS不會執行重定向,儘管某些DNS提供商已添加了可能出現的功能。你會想使用類似機架重定向(如果你正在編寫一個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'