サイト・リニューアル作業メモ 4——常時SSL化 後編

Shay Locomotive, Cadillac, Michigan, U.S.

スポンサーリンク

WP内のリンク記述をSearch Regexですべてhttpsに置換する

すべてのアクセスをhttpsのプロトコルに集約する作業のつづき。

サイト・リニューアル作業メモ 3——常時SSL化 前編
サイト・リニューアルの作業メモの第3回。常時SSL化にかんする作業の前編。

つぎにやることは、WPの内部にある自己ドメイン(sampo-shippo.net)にかんするリンクの記述を、httpからhttpsに書き換えることだ。これは、わいひらさんの記事で紹介されているやり方にしたがって、プラグインSearch Regexをつかって実施した。

Search Regex
Search Regex は、検索のための完全な正規表現をサポートし、WordPressに強力な標準検索機能と置き換え機能を追加します。 …

Search Regexはここ2年ほど更新が止まっているようだったので不安だったが、ぼくの環境ではちゃんと動いてくれた。http://sampo-shippo.net/を検索して、https://sampo-shippo.net/に置換するようにセットする(詳しいやり方は、先述のわいひらさんの記事をご参照ください)。

WordPressをhttpからhttpsにSSL化した全手順まとめ(エックスサーバー環境)
XSERVERで常時SSLが無料なので、WordpressサイトをHTTPS化したときに行った全ての手順をまとめてみました。

すると置換する候補のリストが表示される。これを目視で確認する作業をていねいにおこなうのがポイントだ。今回はとくに問題なし。Replace and Saveのボタンを押すと、すぐに完了した。

注意すべき点は二つだ。

  1. ウィジェット内にあるテキスト中のタグはSearch Regexでの置換対象外になるので、ここは直接チェックして、必要があれば修正をしておく。
  2. 同様に、ヘッダーのロゴ・ファイルもSearch Regexの置換対象にならないので、https化したあとにあらためてCocoonの設定画面から読み込みなおす。

正しく作業がなされていれば、WPにかんしては、これでhttpsに一本化されたことになる。

httpをhttpsに301リダイレクトする

つぎに、外部からのhttpによるアクセスにたいし、httpsへ301リダイレクト(恒久的転送)するためのコードを、.htaccessに追記する。

まず、FTPでサーバーにアクセスして.htaccessをダウンロードする。いうまでもなく、.htaccessは不可視ファイルなので、もし見あたらなければ、FTPクライアントソフトの設定を確認して、「不可視ファイルを見えるようにする」などの項目をチェックするなりしてあげる必要がある。

エックスサーバーにHTMLサイトを構築しているケースでは、.htaccessはpublic_htmlフォルダ直下に置かれている。これをローカルにダウンロードする。.htaccessファイルは重要なので、万が一トラブルがあったときに元へ戻すことができるよう、必ずコピーして保存しておくことが推奨されている。

ダウンロードした.htaccessに以下のコードを追記する。ぼくは、.htaccessの冒頭部分に追記しておいた。使用したのは以下のコードである。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
なお、このコードは、上述したわいひらさんの記事にあるものとは少し異なっている。

追記の済んだ.htaccessファイルを、あらためてpublic_htmlディレクトリ直下(元の.htaccessがあったのと同じ場所)にアップロードする。

完了後にブラウザから確認してみよう。httpで始まる元のURLでアクセスしても、httpsに転送されるようになっているはずだ。

既存HTMLサイトとWPは依然として併存

ただし、現時点で達成されたのは、あくまで、つぎの2点だけだ。すなわち、第一に、WPについてhttps化が完了したことと、第二に、外部からのアクセスにたいしてhttpからhttpsへプロトコルが切り替わったこと、の2点である。

依然としてサーバー上では、既存HTMLサイトとWPが併存し、かつ既存HTMLサイトのほうが優先されたままの状態であることに変わりはない。

いいかえるなら、httpで始まるドメインURL(http://sampo-shippo.net/)でアクセスすると、https://sampo-shippo.net/へ転送されるものの、ブラウザには既存HTMLサイトのトップページ(index.html)が表示される状態だということである。もちろん最初からブラウザにhttpsでドメインURLを打ち込んでアクセスしても同様だ。

したがって、つぎのステップでは、ドメインURLのアクセス先を、既存HTMLサイトからWPのほうへ切り替えてあげる必要がある。

その5へつづく