我正在使用带有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
你可以看到它有些静止,这是一个问题。但是,如果我有权访问请求参数(例如子域,域等),我可以检查它们,并相应地重定向(仅在需要时)。
有人有任何指示吗?
答案 0 :(得分:3)
指定此块的参数
Rails.application.config.middleware.use Rack::CanonicalHost do |params|
puts "PATH_INFO #{params['PATH_INFO']}"
end