我有一个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,文档推荐了一些不同的代码。你可以看看我更新的问题,我有我打算基于文档使用的代码吗?你能不能告诉我,如果我没有定义环境,这个代码会破坏开发环境。 –