尝试接受域请求并将其路由到控制器的索引操作。
域名以@site.host
的形式存储在数据库中。通过@ site.controller将站点指定给控制器
应用程序控制器提取主机
@site ||= if match = request.host.match(/.*?([^.]+\.[^.]+\.[^.]+$)/)
domain = match[1]
Site.find_by_host(domain)
end || Site.find(:first)
但是以下是失败的:
if request.url.split('?').first == ("https://" + @site.host)
redirect_to :controller => @site.controller, :action => 'index'
end
答案 0 :(得分:0)
解决方案是通过数据库生成的会话值,然后将其与请求进行比较并相应地重定向
r_host = session[:host] + "/"
r_host_n = session[:host]
if request.url.split("//").last == (r_host || r_host_n)
redirect_to :controller => session[:controller], :action => 'index'
end