Rails 3:仅将特定用户重定向到新应用程序,而其他用户应该能够访问旧应用程序

时间:2018-12-27 07:49:03

标签: ruby-on-rails ruby-on-rails-3 redirect

我的雇主获得了一个新网站,并希望我在客户尝试访问旧网站时将旧网站(在Rails 3中)的用户重定向到新网站。 棘手的部分是他们希望内部人员继续使用相同的URL访问旧网站。但是当外部客户访问旧网站时, 他们想将他/她重定向到新网站。

这可能吗?

我可以想到在URL末尾添加“ staff”关键字,如果应用程序控制器中的传入URL具有“ staff”关键字,那么我可以允许内部人员 访问旧网站。如果传入的URL在URL中没有“ staff”关键字,那么我可以重定向到新网站。

这有意义吗?

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

示例网址:xyz.com?role=staff

class ApplicationController
  before_action :redirect_if_customer

  protected

  def redirect_if_customer
    if request.host.eql? 'xyz.com' && request.params[:role].eql? 'staff'
      redirect_to "abc.com", status: :moved_permanently
    end
  end
end

答案 1 :(得分:1)

不确定您的应用程序正在使用哪个Web服务器。但是这种情况可以在Web服务器而不是应用程序中实现。

https://www.linode.com/docs/web-servers/apache-tips-and-tricks/redirect-urls-with-the-apache-web-server/