我有一個rails應用程序部署在heroku上,域名由谷歌和DNS由cloudflare。我想將所有來到example.herokuapp.com
的請求重定向到example.com
。我不能設置上CloudFlare的,因爲如果我用一個頁面的法規,從example.herokuapp.com
到example.com
發送流量,然後CloudFlare的提出了這樣的錯誤:ERROR Your URL should reference the domain 'example.com' in some way.
example.herokuapp.com重定向到https://example.com
我也查在Heroku上,但我真的不明白是什麼我應該這樣做:
「即使您設置了自定義域,您的應用程序的Heroku域也將始終保持活動狀態如果您希望用戶獨佔使用自定義域,您的應用程序應發送HTTP狀態301永久移動到告訴Web瀏覽器使用自定義域,Host HTTP請求頭域將顯示用戶嘗試訪問的域;如果該域爲example.herokuapp.com,則發送重定向。
將流量重定向到https://example.com
的首選方法是什麼?
UPDATE
application.rb中
config.middleware.insert_before(Rack::Runtime, Rack::Rewrite) do
r301 %r{.*}, "https://example.com$&",
:if => Proc.new { |rack_env| rack_env['SERVER_NAME'] != 'example.com' }
end
注入,我檢查了文件,但它不是十分清楚。我使用rails 4.2.4,文檔推薦了一些不同的代碼。你可以看看我更新的問題,我有我打算基於文檔使用的代碼嗎?你能不能告訴我,如果我沒有定義環境,這個代碼會破壞開發環境。 –