Rails / Rack:从canonical_host中间件中检索请求参数

时间:2012-03-15 00:37:54

标签: ruby-on-rails ruby rack

我正在使用带有Rails的Rack Canonical Host中间件(https://github.com/tylerhunt/rack-canonical-host)强制所有root请求的www(example.com成为www.example.com)。但是,如果访问者试图访问我们应用的有效子域,我们显然不想强制使用www。以下是中间件的示例用法:

Rails.application.config.middleware.use Rack::CanonicalHost do
  # the following return value will be used to set the canonical host
  'www.example.com'
end

你可以看到它有些静止,这是一个问题。但是,如果我有权访问请求参数(例如子域,域等),我可以检查它们,并相应地重定向(仅在需要时)。

有人有任何指示吗?

1 个答案:

答案 0 :(得分:3)

指定此块的参数

Rails.application.config.middleware.use Rack::CanonicalHost do |params|
  puts "PATH_INFO #{params['PATH_INFO']}"
end