And*_*rew 4 ssl ruby-on-rails request ruby-on-rails-3
所以,我正在将我的rails(3.0.9)应用程序从一个域移动到另一个域.Heroku建议在应用程序控制器中使用before_filter,以确保每个人都在新域上,如下所示:
before_filter :ensure_domain if Rails.env.production?
APP_DOMAIN = 'www.newdomain.com'
def ensure_domain
if request.env['HTTP_HOST'] != APP_DOMAIN
redirect_to "http://#{APP_DOMAIN}", :status => 301
end
end
Run Code Online (Sandbox Code Playgroud)
但是,在我正在使用的某些控制器视图上ssl_requirement,我相信它会做同样的事情但强制ssl协议.
对于请求处理和所有爵士乐,我并不那么聪明.我的问题是,这两个是否会创建一个无限循环,SLL尝试重定向到https,而过滤器尝试将其重新发送到http?
你会如何解决这个问题?
尊重当前的协议:
redirect_to("#{request.protocol}#{APP_DOMAIN}", :status => 301)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1804 次 |
| 最近记录: |