我试图强制我的控制器生成的所有 url 为“https”,否则重定向到 https。我尝试了此博客中解释的方法以及 Olly 建议的方法, 如果我尝试访问我的应用程序,则会收到此错误:
此网页有重定向循环
https://'example.com' 上的网页导致了过多的重定向。清除此站点的 cookie 或允许第三方 cookie 可能会解决问题。如果不是,则可能是服务器配置问题,而不是您的计算机问题。
清除 cookie 无济于事。为什么会进入循环?我确保在 request.ssl 为 false 的情况下运行代码。我正在使用 Rails 2.3.10。所以这是我尝试过的,在我的应用程序控制器中我添加了:
url_for unless (Rails.env.test? || Rails.env.development?)
def default_url_options(options)
{ :only_path => false, :protocol => 'https' } unless (Rails.env.test? || Rails.env.development?)
end
我也试过
def redirect_to_https
redirect_to :protocol => "https://" unless (request.ssl? || Rails.env.test? || Rails.env.development? || local_request?)
end