SSL設定後にリダイレクトが必要な理由とリダイレクト設定方法

このページではSSL設定後にリダイレクト設定が必要な理由とその設定方法について解説します。

こんな方にオススメのページです

・リダイレクトが何なのか知りたい

・SSL設定後になぜリダイレクトが必要か知りたい

・リダイレクトの設定方法を知りたい

リダイレクト設定する理由はHTTPアクセスを無くすため

SSL設定後にリダイレクト設定する理由はHTTPアクセスを無くし、HTTPSアクセスへ一本化するためです。

HTTPアクセスではSSL対応の効果が出ない

SSLに対応したWebサイトはHTTPSとHTTP両方でアクセス可能な状態になります。

HTTPS

HTTPSとはHTTPによるページ表示のコンテンツデータの送受信を、SSL通信により行うスキームです

URLの先頭部分がスキームであり、これをhttpsにすることでHTTPSによるWebページ表示ができます

ただし、HTTPSでアクセスした場合しかSSLによる暗号化が行われません。つまり、HTTPでアクセスされてしまうとSSL通信が行われずSSL対応の効果が無いのです。

この状態、実はかなり厄介な状態です。例えばユーザがHTTPでアクセスすれば、SSLに対応していたとしても、SSLによる暗号化が行われない状態で通信が行われてしまいます。

また、HTTPでアクセスされてしまうと、ブラウザのURL欄に「保護されていない通信」と表示されてしまい、危険なサイトと思われる可能性があります。

これを防ぐためにはユーザにスキームにHTTPではなく、HTTPSを指定してもらう必要があります。でもURLを打ち込む時に、スキームにHTTPを使うかHTTPSを使うのかはあまり意識しないですよね。この2つの違いを知らない方も多いはずです。また、すでに「http」を用いたURLでブックマーク・お気に入り登録されている場合は、ユーザーにわざわざ「https」への置き換えをお願いする必要があります。もちろんお願いしても変更してくれるとは限りません。

リダイレクトでHTTPアクセスをHTTPSアクセスに置き換える

HTTPSとHTTPとをユーザーが意識しなくても、HTTPアクセスを無くし、HTTPSアクセスに一本化することができるのがリダイレクトです。リダイレクトとは、あるURLにアクセスしたユーザを自動的に他のURLに連れて行く機能です。ですので、スキームをHTTPからHTTPSに変更したURLへ自動的にユーザ連れて行くことが可能です。このリダイレクトを設定しておけば、ユーザはHTTPとHTTPSを意識しなくても、あなたのWebサイトへのアクセスには常にHTTPSが用いられるようになり、あなたのWebサイトでは常にSSLで通信が行われ安全なサイトとなります。

せっかくSSL対応したのであれば、しっかりSSLの効果を発揮したいですよね?そのためにも、SSL対応とリダイレクト設定はセットで行う必要があります

でも、お高いんでしょう?

安心してください。リダイレクトは無料で設定可能です!

リダイレクト設定方法

リダイレクトは「.htacessにリダイレクト設定を追記」することで設定することができます。例えば下記を追記することでリダイレクトの設定が可能です。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

これだけ言われてもよく分からん!と思う方もおられると思いますので、このページではファイル転送ソフトを使用した設定方法と、エックスサーバーでサーバーパネルから行う設定方法の2つをもう少し深く解説して行きたいと思います。

ファイル転送ソフトを使用して設定

こちらの方法で設置する場合はファイル転送ソフトが必要です。ファイル転送ソフトについてはこちらを参照してください。

リダイレクト設定を行うためにWebサーバ上の.htaccessというファイルを編集します。このファイルはドメインごとに存在します。例えばエックスサーバーであれば、Webサーバ上のドメイン名フォルダの下の、さらに「public_html」フォルダの下に存在します。

このファイルをサーバ側から自分のPCにまずコピーしましょう。コピー先はどこでも良いです。

次は.htaccessファイルを編集すれば良いのですが、こういったWebサーバ上のファイルはWebサーバの動きに影響を及ぼすものも多いため、いったんバックアップを取ることをお勧めします。私はPC側に.htaccessをコピーし.htaccess_oldという名前に変更しました。もし.htaccessを変更して動きがおかしくなったような場合は、この.htaccess_oldをWebサーバ上にコピーしてやれば元の動きに戻すことができます。

続いて実際に.htaccessを変更します。このファイルをテキストエディタで開きましょう。そして、そのファイルの先頭に下記の文字列を挿入します。元からある部分は触らないようにしましょう。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

編集すると.htaccessファイルはこんな感じになるはずです。

この編集後のファイルを、Webサーバ上の.htaccessに上書きコピーを行います。

以上でこの方法によるリダイレクト設定は完了です。

HTTPで自分のWebサイトにアクセスして見ましょう。今度は勝手にHTTPSのアクセスに切り替わるはずです。これによりユーザーは特に何も意識しなくてもHTTPアクセスが無くなり、HTTPSアクセスに一本化することができます。

エックスサーバーのサーバパネルから設定

もしエックスサーバーを使用しているのであればサーバパネルから簡単に設定可能です。まずサーバパネルにログインしたら、.htaccess編集をクリックします。

ドメイン選択画面に遷移しますので、SSL対応させたいドメインを選択します。

続いて.htaccess編集タブを選択すると、実際の編集画面に遷移します。

編集画面で、.htaccessの先頭部分に下記をコピペしましょう。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

編集が完了すれば、.htaccessを編集する(確認)ボタンをクリックします。確認画面が出てくるので確定ボタンをクリックすればエックスサーバーのサーバパネルでのSSL設定は完了です。HTTPでのスキームで自分のWebサイトにアクセスすると自動的にスキームがHTTPSに切り替わることを確認しておきましょう。

スポンサーリンク

まとめ

・自分のWebサイトをHTTPSアクセスするためにリダイレクトが必要
・.htaccessファイルを編集することでリダイレクトの設定が可能
・XSERVERであればサーバーパネルからお手軽にリダイレクトの設定が可能

簡単にリダイレクト設定が可能なエックスサーバーを使ってみたいという方は、↓ から申し込み可能です。最初の10日間は無料お試し期間になっています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です