httpからhttpsにリダイレクト、www有無のリダイレクト方法(mod_rewrite)

Webサイトは常時SSLが当たり前の時代になりました。
今回の記事では、これまで

http://example.com」や、「http://www.example.com」で運用してきたWebサイトを、「https://example.com」に転送する方法をご紹介します。

サイトをSSL化した場合に対策をしておかないと、ブックマークや、Googleの検索エンジンからの流入などから古いURLにアクセスされる可能性があります。
古いURLにアクセスが残ったままですと様々なデメリットがありますので、常時SSL化後には設定しておきたい項目です。

常時SSLとは

Webサイトを閲覧する端末と、Webサイト間の通信を常にSSL/TLSで暗号化をし、第三者に情報を読み取られないようにすることです。

WebサイトのURLは下記の通りです。

(非SSL)http://example.com

(SSL)https://example.com

 

転送方法

 

http:// もしくは、www 有り無しの転送はApache(Webサーバー)の、mod_rewriteという機能を使い転送を行います。
今回は下記の通り、3つのURLの場合に、https://example.comに転送を行います。

転送するURL:

http://www.example.com
http://example.com
https://www.example.com

転送先URL:

https://example.com

 

  1. Webサーバーにログインし「.htaccess」ファイルを作成します。
    すでに.httaccessファイルが存在する場合は、手順2の項目を追記してください。

    * .htaccessの記述を間違えますと、サーバーが動作しなくなりますので、必ずテストサイトで検証してから、本番環境にアップロードしてください。
     

  2. .htaccessファイルを下記の通り編集します。
    ##
    # SymlinksはCPIサーバーをご利用の場合記述が必要です。
    # CPIサーバー以外でも、mod_rewriteを有効にし、エラーがでる場合は、
    # どちらかのオプションを有効にしてください。
    ##
    # CPIサーバーでACE01_2015以降のサーバー
    Options +SymLinksIfOwnerMatch
    # CPIサーバーでACE01_2011以前のサーバー
    Options +FollowSymLinks
    
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    
    # httpからの通信を、httpsにリダイレクト(www有り無し)
    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]
    </IfModule>
    

    example.comを設定するURLに変更してください。

 

以上で転送設定が完了です。

 

証明書エラーが出る場合

 

「安全な接続ができませんでした」などのエラーが出る場合は下記を確認ください。

 

SSL証明書が正しく設定されているか。
Chromeブラウザの場合サイトにアクセスすると「鍵」マークのアイコンが出ます。アイコンが出ない場合は証明書が失効している可能性がありますので、Webサーバーの管理会社に問い合わせください。

 

https://www有りから、https://www無しへの転送の場合、www有りと無しの2つのURLに対してSSL設定が必要です。
1つのSSL証明書で、2つのURLにSSLを設定する場合は、SSL証明書がSANs対応している必要があります。

CPIサーバーの場合ですと、シマンテックジオトラストの証明書がSANs対応しています。CPI SSLは対応していませんのでご注意ください。

 

 

 

関連タグ: 

この記事をシェアする:

Author
この記事を書いた人:阿部 正幸

KDDIウェブコミュニケーションズ
クラウドホスティング事業本部 エバンジェリスト

CPIスタッフブログ編集長。ACE01,SmartReleaseをリリース後、現職の「エバンジェリスト」として、web制作に関する様々なイベントに登場

Line@登録よろしくお願いします

Web制作に関する情報や、CPIノベルティのプレゼント、サーバーの無償提供などを定期的に発信しています。
ぜひ、登録ください。