在應用程序控制器內部的Rails 4應用程序中實現重定向。301重定向Rails 4總是前往主頁
我得到它的主頁上工作,所以foo.com
會重定向到www.foo.com
,但是,如果我在url foo.com/about
鍵入它只是重定向回主頁www.foo.com
。
這裏是我使用的代碼(application_controller.rb):
before_filter :add_www_subdomain
def add_www_subdomain
unless /^www/.match(request.host)
redirect_to("#{request.protocol}www.#{request.host_with_port}",
:status => 301)
end
end
時遇到這一發現文檔專門用於軌道4.什麼是去了解這一點的最好方法是什麼?我想foo.com/about
重定向到www.foo.com/about
這有點不尋常的做這種規範域名重定向在應用程序級別。如果您的應用程序前面有一臺服務器,如Apache或nginx,則可以在那裏進行重定向。這也可以通過DNS記錄處理 - 查看CNAME記錄。 – rossettistone
有沒有像我這樣做的任何併發症?我使用DNSimple,但是,當我使用https時,它們無法重定向。 – Kathan
似乎應該可以正常工作。肯定比在前一層捕獲它慢一點(例如nginx,DNS),但這對於這種重定向來說並不是什麼大問題。剛剛想到我會提出這一點之前,你承諾這樣做:-) – rossettistone