2012-03-15 44 views
3

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

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

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

任何人有任何指针?

回答

3

指定的参数对于该块

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