3

我想在生产时将所有控制器的所有站点流量重定向到 https。可能使用如下内容:

before_filter :redirect_to_https

在控制器中使用以下内容:

  def redirect_to_https
    redirect_to :protocol => "https://" unless (request.ssl? || local_request? || Rails.env.development? || Rails.env.staging? ) # probably don't need redundant development with `local_request` present
  end

将其应用于所有控制器而不是必须在每个控制器中重复此操作的最有效方法是什么?

4

1 回答 1

4

config.force_ssl = true在您的环境/production.rb 配置文件中使用。

如果你想让 before_filter 应用于所有控制器,它们都继承自 ApplicationController 所以把它放在那里。

于 2012-04-07T21:17:36.480 回答