Heroku上的Rails应用程序 - 从.com重定向到.org

时间:2011-01-17 11:14:13

标签: ruby-on-rails web-applications mod-rewrite heroku

对于在Heroku上托管的Rails应用程序,我们使用Zerigo DNS Add-on指向自定义域(比如mydomain.org)指向Heroku应用程序。我们为mydomain.org注册了SSL证书

现在,我们希望mydomain.com重定向到mydomain.org。我们尝试在控制器/机架级实施重定向规则。不行。浏览器URL仍然指向.com而不是.org

Heroku应用程序是否有人遇到同样的问题!!

1 个答案:

答案 0 :(得分:1)

我使用以下技术从“example.com”重定向到“www.example.com”(如此处所述,http://docs.heroku.com/custom-domains)。在您的情况下,这可能适用于从.com重定向到.org。

app / controllers / application_controller.rb

class ApplicationController < ActionController::Base
  protect_from_forgery

  before_filter :ensure_domain

  protected

  def ensure_domain
    if request.env['HTTP_HOST'] != 'www.example.com' && Rails.env.production?
      redirect_to "http://www.example.com", :status => 301
    end  
  end

end

在您的情况下,您可以将.com和.org域名的DNS记录指向在Heroku上运行的应用。您的应用会检查HTTP_HOST以查看它是否指定了您的.org网址。如果没有,那么它将重定向到您的.org URL。