【问题标题】:Specify Rails Controller Action Based on Domain基于域指定 Rails 控制器操作
【发布时间】:2015-05-08 17:56:40
【问题描述】:

我有一个支持两个域http://domain1.comhttp://domain2.com 的应用程序。模型、控制器和视图在域之间共享。

过去,http://domain1.com/user_type_2/faqshttp://domain2.com/user_type_2/faqs 使用相同的控制器操作分别提供服务。但是,现在,出于 SEO 的原因,我想完全删除与 domain1 关联的视图,并将所有用户类型 2 常见问题解答请求(来自任一域)路由到 http://domain2.com/user_type_2/faqs - 继续使用现有的控制器和操作。

如何在 routes.rb 中指定将所有请求从 http://domain1.com/user_type_2/faqs 重定向到 http://domain2.com/user_type_2/faqs 的路由?

我试过了

match 'http://domain1.com/user_type_2/faqs', :to => redirect('http://domain2.com/user_type_2/faqs')

constraints(:host => /domain1.com/) do match "/user_type_2/faqs" => redirect {|params, req| "//domain2.com/#{params[:path]}"} end

似乎都不起作用。

【问题讨论】:

    标签: ruby-on-rails routing multiple-domains


    【解决方案1】:

    事实证明,答案是域约束内的重定向。看过之后就很简单了。

    constraints domain: 'domain1.com' do
      match 'user_type_2/faqs', :to => redirect('http://domain2.com/user_type_2/faqs')
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-17
      • 1970-01-01
      • 2012-12-11
      • 2012-07-31
      • 1970-01-01
      • 2010-09-07
      相关资源
      最近更新 更多