こんにちは!Chihiroです(`・ω・´)ゞ
今回はhttpへのアクセスをhttpsへ移動させる方法を紹介します。
httpへのアクセスをhttpsへ飛ばすことをリダイレクトといいます。
なぜリダイレクトが必要かと言うと、
例えば口頭で初めて知り合った人にサイトのURLを教えても、
その人がブラウザからhttp://ドメイン名 で直接アクセスすると、https://ではなく、通信が暗号化されていない
http://にジャンプしてしまうんですね( ̄▽ ̄;)
これではせっかくSSL証明書をインストールしても、
訪問者の通信が暗号化されません。
暗号化されないままコメントやお問い合わせでメール
アドレスを入れたりしてしまうと、
ハッカーがそのメールアドレスを不正に入手し、
悪用されることも十分考えられます。
訪問者の情報があなたのサ>イトから流出したとわかれば、
法的措置を取られることだってあります。
そうした情報流出を防ぐためにも、
このリダイレクト設定は必ず行ないますよ(`・ω・´)ゞ
今回はHostGator(ホストゲーター)のサーバーコントロールパネルである、
cPanel(シーパネル)からリダイレクト設定する方法を2つ紹介します。
1つは、cPanelからリダイレクトを設定するやり方。
そしてもう1つはcPanelからファイルマネージャーを起動し、
設定ファイルである.htaccessを変更するやり方。
前者の方が簡単ではありますが、前者は結局のところ、
cPanelが内部的に.htaccessを変更しているにすぎません。
.htaccessはリダイレクト設定以外にも編集する機会があるので、
編集するやり方を知っておく方が今後の役に立つので、
.htaccessを変更するやり方も2つ目に記述しました。
Contents [hide]
cPanel(シーパネル)から設定変更
HostGator(ホストゲーター)のcPanel(シーパネル)から
ドメイン > リダイレクト を選択。

リダイレクトの追加にて、以下を設定します。
- 種類:
httpからhttpsへのリダイレクトは
この先ずっと有効化させておきたいので、
永続(301)を選択します。 - https?://(www.)? :
リダイレクト設定したいドメイン名を選択します。 - / :
サイト内の指定のページだけ
リダイレクトしたいという場合に入力しますが、
https通信は全ページが対象なので、空欄のままにしておきます。 - リダイレクト先:
https://自分のドメイン名を記入します。 - www.リダイレクト:
www.付きまたはwww.なしでリダイレクトを選択します。 - ワイルドカード リダイレクト:
チェックを入れます。
一時(302)を選択するケースは、
例えばリダイレクト元サイトのメンテナンス時といった、
一時的にリダイレクト設定しておきたいという場合に使います。
例えばhttps://の後にwww.無しのURLの場合は
www.を付けてアクセスされた場合、
www.無しURLにリダイレクトさせたいので、
「www.付きでのみリダイレクト」、
もしくは「www.付きまたはwww.なしでリダイレクト」を
選択することになります。
しかし、一番上の「www.付きでのみリダイレクト」を選択してしまうと、
http://へのアクセスがhttps://へリダイレクトされません。
よって「www.付きまたはwww.なしでリダイレクト」を選択します。
これで追加をクリックすれば設定完了です。
設定した後は本当にリダイレクト設定が反映されているか確認しますよ!
リダイレクト設定の確認
自分でブラウザにhttp://のURLを直接入力しても確認できますが、
万全を期すならリダイレクトチェッカーで確認しましょう。
リダイレクトチェッカー
http://ohotuku.jp/redirect_checker/
http://ドメイン名を入力し、
リダイレクト回数が1回です
と表示されれば成功です。
同様に、wwwが入っている場合は、www無しのURLへリダイレクト、
もしくはwww無しのURLからwww有りURLへのリダイレクト
も確認しましょう。
1つ注意ですが、
今まで説明してきたcPanelの「リダイレクト」から設定するやり方で設定しても、
リダイレクトがうまく反映されないことがあります。
うまく反映されない原因は、
リダイレクトで設定を変更する「.htaccessファイル」に
既にたくさん設定が入っていて、
古い設定の方が新しく入れた設定よりも
優先されてしまうことがあるからです。
こうしたことが起きている場合は、
次から説明する、もう1つのやり方、
.htaccessファイルを変更する方法で
リダイレクト設定をした方が確実です。
.htaccess変更手順
まず、cPanelにアクセス、ログインします。
そしてファイルマネージャーを選択。
ファイルマネージャーのページにて、
右上の設定をクリック。
すると、下記のようなポップアップが表示されます。
今後開くときは、既定で常にこのディレクトリを開きます:
次の項目のドキュメントルート: [自分のドメイン名]を選択し、
非表示のファイルの表示(dotfiles)
にチェックを入れ、Saveします。
次に左のフォルダ階層からpublic_htmlフォルダを選択し表示すると、
右にファイル一覧が出てくるので、
そこから.htaccessを選択し、表示をクリック。
もしくは上の検索バーから.htaccessを検索してもOKです。
.htaccessファイルは複数存在し、
いろんな場所に置かれていますので、必ずpublic_html/.htaccessを選択してください。
表示すると、.htaccessファイルの既存の設定内容が見られます。
この既存設定をコピーして別でメモ帳などに保存しておきましょう。
.htaccessの編集
CPanelのファイルマネージャー画面に戻り、
対象の.htaccessファイルを選択し、編集をクリック。
編集画面にて、保存しておいた.htaccessの内容をペーストし、その下にさらにリダイレクトの設定を記述します。
リダイレクトの設定
以下の内容を.htaccessファイルの既存設定の下に追記します。
# リダイレクト設定 [年/月/日]
RewriteEngine On
# httpからの通信を、httpsにリダイレクト
RewriteCond %{HTTPS} off
RewriteRule ^(.*$) https://example.com/$1[R=301,L]
# httpsからの通信でwww>ありの場合、wwwなしにリダイレクト
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(.*)$ https://example.com/$1[R=301,L]
[年/月/日]は設定した日付を入れておくと、
後々また設定変更したいときに、
なんの設定をしたのか、
自動で設定されたものか自分で設定したものか、
思い出しやすくなるので書いておくのがオススメです。
example.comの部分は自分のドメイン名
に変更してくださいね(`・ω・´)ゞ
ここでは、http→httpsの他に、wwwを入れてアクセスがあった場合のwwwなしの正しいURLへのリダイレクトも設定しています。
リダイレクト設定を追記したら右上の変更の保存をクリックして設定保存します。
後は、上で紹介したリダイレクト設定確認サイトで設定が反映されているか確認すればOKです。
これでhttp→httpsへのリダイレクト設定は完了です。
お疲れ様でした(*´ω`*)