最初に通常通りサブドメインのある(https://www.example.com)ドメインを登録し、そのあとサブドメインなし(https://example.com)でアクセスできるようにするまでの手順を紹介します。
ドメインは、お名前.comを使っており、登録の仕方も説明します。
前提として、既にドメインを持っていてアプリをherokuのhobbyプラン($7のやつ)でデプロイしている事とします。
目次
Herokuにお名前.comのドメインを結びつけ
まずは、wwwありとなしのドメインを登録します。
また、DNS Targetをコピーしてメモ帳かなんかに保存しておきます。
ACM Statusは、画像では「OK」になっていますが、登録したばかりだと結びつけが完了していないので、赤のエラー表示になっていると思います。
Point DNSの設定
アドオンであるPointDNSを追加します。
PointDNSを使わなくてもドメインの設定自体はできるのですが、後のサブドメインの省略に必要になってくるので入れておきます。
herokuのナビゲーションバーのResourcesを開き、PointDNSと入力して追加します。
追加したアドオンの欄からPointDNSをクリックし、右上のDomainNameに自分のドメイン名を入力し、Addを押して追加します。
その後、追加された自分のドメインをクリックしてレコード登録画面を表示します。
「Add record」からALIASとCNAMEの2つを追加します。
ALIAS
- Name:wwwなし
- Data:herokuのwwwなしドメインのDNS Target
- TTL:60
CNAME
- Name:wwwあり
- Data:herokuのwwwありドメインのDNS Target
- TTL:3600
これでPoint DNSの設定は完了です。
お名前.comのDNSレコード設定
- ホスト名:wwwあり
- TYPE:CNAME
- TTL:3600
- VALUE:wwwありのheroku DNS Target
お名前.comのネームサーバーの設定
Point DNSのDataを入力します。
wwwありのドメインからwwwなしに301リダイレクト
config/routes.rb
に下記を追加。
match '(*any)', to: redirect(subdomain: ''), via: :all, constraints: {subdomain: 'www'}
完了(wwwなしのドメインでアクセスしてみる)
これにて完了です。
設定が反映されるまで24~72時間くらいかかるので、少し待ちましょう。
僕の場合は、数十分後にwwwなしのドメインでアクセスできるようになりました!