DNS routing for Rails



类似大本营的子域在风格上曾经如此。:)好吧,我想创建一个具有高级功能的应用程序,允许用户将他们的域名指向该应用程序,并将应用程序解析(记录或CNAME)到他们的自定义视图,就像人们使用类似Basecamp的子域一样。我想要一种无需重新启动web服务器或使用AWS的编程方式;完全由我的Rails应用程序控制的东西。如果它涉及区域文件,我想要一些程序化的方式来控制它们。

编辑需要明确的是,我不是在寻找子域自定义。我希望我的应用程序提供允许一个人将他们的域名指向我的应用。因此customerurl.com指向了该应用程序的一个白标签版本。

查看request对象并查询subdomain键。使用它可以在应用程序中进行任何需要的自定义。也许是在应用程序控制器中定义的前置过滤器?

ETA:即使查询request对象的不同部分,也可以获得相同的策略。例如

def do_customizations
  if request.host == 'example.com'
    # Do customization for example.com
    # Might need more sophisticated matching to deal with presence/absence 
    # of 'www' or other subdomains
  elsif request.host == 'main-domain.com'
    # Maybe you want a more sophisticated test than if/else/else, but that's OK
  else
    # Default settings
  end
end

然后,在您的控制器中,

before_filter :do_customizations

最新更新