2012-03-15 24 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