Rails/Rack: 从canonical_host中间件中获取请求参数

3

我正在使用 Rack Canonical Host 中间件( https://github.com/tylerhunt/rack-canonical-host )与 Rails 一起,用于强制在所有根请求中添加 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个回答

4

为此块指定一个参数

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接