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

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

Web サイトは常時 SSL が当たり前の時代になりました。

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

サイトを SSL 化した場合に対策をしておかないと、ブックマークや、Google の検索エンジンからの流入などから古い URL にアクセスされる可能性があります。

古い URL にアクセスが残ったままだと様々なデメリットがあるため、常時 SSL 化後には設定しておきたい項目です。

目次

  1. HTTP とは
  2. 常時 SSL とは
  3. 転送方法
  4. 証明書エラーが出る場合
  5. URL を https に変更した時の注意点
  6. 常時 SSL 化の対策はしっかりとしておこう

「Webサイトからお問い合わせが来ない…」とお悩みの方必見!
当サイトのノウハウを詰め込んだ『Web集客の無料ガイド』をご提供

HTTP とは

HTTP とは「 Hypertext Transfer Protocol 」の略称です。 Web サイトを閲覧する時、ユーザー側はサーバーにリクエストを送り、サーバーはレスポンスを送り返します。このやりとりをするためのプロトコル(通信規約)が HTTP です。

汎用性が高く、 Web ブラウザ以外の通信でも使用されます。

HTTP と HTTPS の違い

HTTP と HTTPS の違いについても説明します。 HTTPS とは「Hytertext Transfer Protocol Secure 」の略称です。Secure は「安全」を意味しており、 HTTP で行われる通信を安全に行うために暗号化しています。つまり HTTP との違いは通信が暗号化されているかどうかです。

HTTPS は「 SSL ( Secure Sockets Layer ) / TLS ( Transport Layer Security ) 」というプロトコルを使い、 HTTP での通信を行います。そのため、 HTTP が持つ汎用性をそのままに、より安全な通信が可能となるのです。

通信が暗号化されているサイトは URL を見ると「 https:// 」で始まっており、暗号化されていないサイトは「 http:// 」で始まっています。

常時 SSL とは

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

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

( 非 SSL )http://example.com

( SSL )https://example.com

あわせてこちらの記事もぜひお読みください。常時 SSL 化について解説しています。
今さら聞けない常時SSL化の必要性、費用、導入方法について

http から https への転送方法

http:// もしくは、www 有り無しの転送は Apache( Web サーバー)の、mod_rewrite という機能を使い転送を行います。

今回は下記の通り、3つの URL の場合に、https://example.com に転送を行います。

転送する URL :

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

Apache については、こちらの記事で解説しています。
無料で使える Web サーバー Apache とは?特徴やメリット、デメリットを解説!

 

転送先 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 サーバーの場合ですと、デジサートとジオトラストの証明書、また CPI 独自の SSL が SANs 対応しています。

マルチドメインについては、こちらの記事で紹介しています。
マルチドメイン(複数ドメイン)とは?レンタルサーバーで運用するメリットも紹介

URL を https に変更した時の注意点

Web サイトの URL を https に切り替えたら、次の3点にも注意しましょう。必要に応じて対応を行ってください。

  • 内部リンクの確認・変更
  • Google Search Console への登録
  • サイトマップの送信

注意点1. 内部リンクの確認・変更

記事内に貼り付けた内部リンクの確認を行いましょう。リダイレクトされるのでリンク切れになることはありませんが、読み込みに時間がかかりサーバーに負担をかける可能性があります。数が多いほど負担が大きくなる可能性も。

そのため、手間はかかりますが、手動でリンクを直すのが確実な方法です。 WordPress を使って作った Web サイトであれば内部リンクを一括で置換できるプラグインもあります。

注意点2. Google Search Console への登録

URL が変わるということは、 Google Search Console(サーチコンソール)への追加登録も必要です。SSL 化によって検索順位が下落してしまう可能性もあるため、正しい評価を得られるよう変更後はすぐに対応を行ってください。

注意点3. サイトマップの送信

Google Search Console への登録と合わせてサイトマップの送信も行いましょう。これにより SEO への影響も抑えることができます。

常時 SSL 化の対策はしっかりとしておこう

現在は情報社会とも呼ばれ、情報は個人にとっても組織にとっても大きな価値を持つものになっています。

それらを使ってやりとりすることの多い Web の世界では安全性が求められるのです。

現在 Web サイトを運営していて常時 SSL 化の対策ができていないという方は、早急に対応するべきでしょう。ユーザーからの信頼度や検索エンジンからの評価にも関わってきます。

関連タグ:

CPIの最新情報をTwitterでチェックできます!
@cpiadjp
次へ
前へ