多个域由一个rails应用程序提供支持

Nic*_*ick 8 apache hosting ruby-on-rails ruby-on-rails-3

我正在创建一个类似博客的应用程序,我们允许客户使用自己的自定义域名,例如domainexample.com,因此每个不同的域都提供相同的应用程序,但内容不同.

但是,我正在努力弄清楚如何在生产服务器上设置它.如果我的生产服务器有一个静态IP,那么我肯定可以在每个域上设置一条记录到生产服务器的ip.

但是,如果生产服务器没有静态IP,该怎么办?例如,如果我们想在heroku或engineyard上托管它?我在网上看到了一些需要使用重写规则的解决方案,但它们需要重新启动服务器,并且在新用户注册时无法真正动态添加和删除新域.有没有人知道任何好的解决方案让多个域点击一个rails应用程序?

tro*_*ine 5

Heroku 不是您唯一的选择。如果您可以预测客户的域,请查看。如果你不能,Rails 路线限制和上面链接问题的可接受答案的组合应该可以帮助你到达你需要去的地方。听起来你不想重新启动你的服务器——所以不需要编辑路由。您还可以将作为模型的一部分,或者在控制器级别进行区分,或者在 Web 服务器层中使用 URL 重写。

在我看来,问题在于 Rails 在这里打破了它对配置的看法。从多个域提供服务的方法有很多种。这可能是一种内在的复杂性,但 Rails 指南至少可以记录一种可能的解决方案。