Rails Rails 怎么实现不同的域名访问的页面不同

dingfengju · December 05, 2016 · Last by dingfengju replied at December 06, 2016 · 1760 hits

今天遇到一个问题,根据不同的域名,比如:ht.zzz.com 访问显示后台登录界面,qt.zzz.com 访问前台页面

我实现的办法是 在 ApplicationController 写了一个 before_action,实现了不同域名的访问,但是就是不能访问其他页面,只用 redirect to 就会报重定向死循环问题,求指导 代码如下:

case url_str
    when /^ht\./
      redirect_to :controller => '/admin_users/sessions' ,action: "new", :is_redirect_to => true  if params[:is_redirect_to].blank?
    when /^qt\./
      redirect_to :controller => '/root' ,action: "index", :is_redirect_to => true  if params[:is_redirect_to].blank?
  end

这个应该在 nginx 指定吧?

直接在 routes 里可以实现 http://guides.rubyonrails.org/routing.html#request-based-constraints

namespace :ht do
  constraints subdomain: 'ht' do
    # backend resources
  end
end

namespace :qt do
  constraints subdomain: 'qt' do
    # frontend resources
  end
end

#1 楼 @leiz_me 谢谢 之前也测试了 但是还是会出现重定向的问题

You need to Sign in before reply, if you don't have an account, please Sign up first.