ruby-on-rails - 301 将 Rails herokuapp 重定向到另一个域

标签 ruby-on-rails redirect heroku

我在 heroku example.herokuapp.com 上托管了一个旧的 Rails 站点,我希望将其 301 将所有流量重定向到在其他地方托管的新站点。我查看了heroku的文档,所有用例都是为了将​​自定义域添加到herokuapp或在应用程序内从http重定向到https。我不再使用 heroku,但该网站仍有一些 SEO 流量,因此需要将其发送到我的新网站。

我可以将 301 重定向添加到我的 Rails 配置文件中。这是最好的方法还是有更好的解决方案?我希望 Heroku 中有一个我可以更改的设置,这样它就不会依赖我的爱好服务器来启动、识别请求然后重定向它。

最佳答案

用户rack-rewrite gem。据我所知,它不能在heroku上设置。

生产.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

关于ruby-on-rails - 301 将 Rails herokuapp 重定向到另一个域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36520720/

相关文章:

ruby-on-rails - 当我有并发请求时,我的 Rails session 正在重置

ruby-on-rails - 使用 Rails 将外部 JSON 保存到数据库

django - fcgi、ssl 和 django,将 HTTP 重定向到 HTTPS

ruby-on-rails - Rails 应用程序中的 Heroku 路由错误

MySQL 日期时间与时间戳关于如何记录/显示时间

javascript - 如何以 js 格式呈现 index.js.erb? ( ruby 1.8.7)

ruby-on-rails - Postgres Auth 失败,没有 pg_hba.conf

redirect - Nginx 子域 : Redirect/. Let's Encrypt 的已知路径

php - 在我的 Wordpress 自定义插件页面中重定向

python - django syncdb 通过后 Heroku 出现 "no such table"错误