• SSL化についてまとめられているサイト

SSL化ちょっと待って!HTTPS化する前に知っておくべき4つの設定(WordPressセキュリティ)

.htaccessでhttpからhttpsへ301リダイレクト

httpへのアクセスを.htaccessを使い強制的にhttpsへ301リダイレクト

単純なリダイレクトではなく、301リダイレクトにすることが肝心です。

http://sample.com と https://sample.comは一緒のページが表示されますが、Googleは別のページと認識しています。

そのため、ただのリダイレクトだと今までGoogleが評価していたものを放棄することになってしまいます。

では、httpからhttpsへのリダイレクト方法です。

.htaccessに以下の記述をすればOKです。

.htaccessへの記載内容の説明

RewriteEngine on

リライト機能をOnにします。

RewriteCond

リライトのルールを適用する条件を記載します。上記の%{HTTPS} off はhttpsではない場合を意味します。

書き方は、RewriteCond %{変数名} 正規表現 [オプション] です。

 

RewriteRule

リライトのルールを記載します。ここに記載したURLにリダイレクトします。

RewriteRuleの意味は以下のようになります。

RewriteRule (正規表現A) (置きかえるURL) [オプション]

 

上の例だと、 (正規表現A)の部分が、 ^(.*)$ です。

  • ^は行の先頭
  • .は任意の一文字
  • *は直前の文字を0回以上繰り返す
  • $ は行末を意味します。

つまり行の先頭から、行末まで任意の1文字が無限に繰り返される、いわば何にでもマッチする正規表現と思って下さい。

$1は(正規表現A)にマッチしたURLを表示します。

ただし、$1で表示するのは、ドメイン以降のURLなので、https://sample.com/$1といった形式でhttps://sample.comをいれます。

[R=301,L] は、Rはリダイレクト、Lはここで書換のルールは終了(Last)の意味です。

Rだけだと、302(一時的なリダイレクト)なので、必ず =301 をつけて今までの評価も持って行きましょう。

もっと簡単なhttps化(301リダイレクト)の書き方

Redirect permanent とRewriteRule の違いは?

リダイレクトには以下の2つの書き方 (RewriteRule とRedirect permanent) があります。

mod_rewrite の機能を使うものが、RewriteRuleでの書き方になります。
mod_rewrite は、Webサーバー(Apache)のモジュール(拡張機能)の1つです。

モジュールのため入っていないサーバーもあります。
入っていない場合は、Redirect permanentの方を利用します。