【问题标题】:Show a sub-section of a rails site under a different domain显示不同域下的 Rails 站点的子部分
【发布时间】:2011-01-07 19:31:45
【问题描述】:

我正在为一个辅助项目创建一个简单的 Rails 应用程序,其中每个产品基本上都有自己的控制器和视图。我已经设置了refinerycms 来服务页面,这一切都很好。但是,出于营销目的,我想在其自己的域下展示每个产品。

例如,company.com/game-product 应该在 game-product.com 中可见。

不想只想将 game-product.com 重定向到 company.com/game-product。我希望 game-product.com 基本上像它自己的独立站点一样出现在最终用户面前。我不想将它们拆分为单独的 Rails 站点,因为我必须复制大量 CMS 内容,然后管理多个应用程序进程。当请求来自 game-product.com 时,有没有一种方法可以告诉 rails 生成相对于 game-product.com 的链接?

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    对于 rails 3,您可以在路线中使用约束。

    首先让所有域指向同一个应用程序。

    其次,您在您的 routes.rb 中捕获域

    constraints :host => 'game-product.com' do
      root :to => 'controller-for-game-product#view'
    end
    

    :host 检查整个主机名(子域 + 域名),因此如有必要,请包含 www

    如果您需要根据主机名更改操作/视图,您还可以在控制器/视图中检查主机名 (@request.host)。

    【讨论】:

    • 这是否也会使用 link_to 等生成正确的链接?
    猜你喜欢
    • 2014-02-01
    • 2011-06-11
    • 2023-03-13
    • 2016-06-07
    • 2011-12-10
    • 2013-08-03
    • 1970-01-01
    • 2011-10-03
    • 2023-02-01
    相关资源
    最近更新 更多