LoginSignup
6
3

More than 3 years have passed since last update.

【Rails】hoge.herokuapp.comへのアクセスをリダイレクトさせる

Posted at

環境設定

Rails 6.0.0
ruby 2.6.5

リダイレクトさせるために必要なコードとは?

お名前.comでせっかく独自ドメインを買ったのに、
hogehoge.heroku.comでアクセスできてしまう。。。

これを解消するのがリダイレクト処理。

gemで、rack-rewriteというのもあるようですが、
コードを足すだけでも実現可能とのことでgemは使わず実装してみました。

application_controller.rb
class ApplicationController < ActionController::Base

  #herokuapp.comから独自ドメインへリダイレクト
  before_action :ensure_domain
  FQDN = 'www.hogehoge.net'

  # redirect correct server from herokuapp domain for SEO
  def ensure_domain
  return unless /\.herokuapp.com/ =~ request.host

  # 主にlocalテスト用の対策80と443以外でアクセスされた場合ポート番号をURLに含める 
  port = ":#{request.port}" unless [80, 443].include?(request.port)
  redirect_to "#{request.protocol}#{FQDN}#{port}#{request.path}", status: :moved_permanently
  end
end

参考記事ではbefore_filterとなっていましたが、Rails4以降は使えなくなっているので、before_actionで書きます。

FQDNは取得した独自ドメインを定義してあげます。

他はコピペでも大丈夫です(僕はこれでうまくリダイレクトしてくれています)

参考記事

【Rails】herokuapp.comから独自ドメインに301リダイレクトを行う方法

今回はこれで以上です。

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3