先日、運用中のサイトに問い合わせフォームを作成しました。
テストをしていたらChromeから
このサイトは安全でない可能性があるよ、的な警告が・・・。
なんの警告か忘れましたが、SSLじゃないからかなぁ?
と思ったので、SSL化したのです。
そんな矢先にこんな記事が・・・
グーグル「常時HTTPSでなきゃChromeでひどい目にあわすよ・・・
対応したサイトのサーバはXSERVERなのですが、案外簡単にできてしまったので、当サイトと姉妹サイトもおさらいのために、SSL化しちゃおうかと思います。
参考にしたサイト
WordPressをhttpからhttpsにSSL化した全手順まとめ(エックスサーバー環境)
作業前にバックアップを忘れずに。
SSLの設定
XSERVERでSSLの設定をする
XSERVERのサーバパネルにログイン。
「SSL設定」を選択。
SSL化したいドメインの「選択する」リンク押下。
「独自SSL設定の追加」タブを押下。
[独自SSL設定を追加する(確定)]を押下。
「SSL設定の一覧」タブを押下。
SSLの設定が終わりました。できてます。
SSL化したURLにアクセスすると、こんな画面になります。
前回設定したときは、設定が反映されるまで1〜2時間待った気がします。
なので、今回は一晩寝かします。今深夜だし。明日シゴトあるし。
一晩寝かせる
次の日、httpsでアクセスしたところ、ちゃんと表示できました。
WordPressの設定
登録ているURLを変更する
WordPressに設定しているURLが「http」のままなので「https」に変更します。
管理画面にログイン。
ナビゲーションバー「設定」→「一般」を押下。
URLを「http」から「https」に書き換え、[変更を保存]ボタンを押下。
内部リンクの置換
https化にともない、内部リンクも「http」から「https」にする必要があります。
Search Regexとかいうプラグインを使うと、一括置換できるようですが、自サイトも姉妹サイトもまだコンテンツが少ないので、手作業でやりました。
リダイレクト設定
.htaccessを編集する
http://greentown.tokyo にきたアクセスを https://greentown.tokyo に飛ばす設定を行います。
FTPソフトでXSERVERにログインします。
以下のファイルをダウンロードします。
サイトのルートディレクトリ/public_html/.htaccess
デフォルトの設定で「.xxxx」というような隠しファイルはファインダーやエクスプローラで見ることができないので、設定を変更します。
以下、Macの場合。Windowsはフォルダオプションで変更できます。
ターミナルを起動。
$ defaults write com.apple.finder AppleShowAllFiles TRUE
上記コマンドで、隠しファイルの表示設定を変更します。
$ killall Finder
ファインダを強制終了。開き直します。
見えました。バックアップをとり編集します。
以下のリダイレクトコードを「# BEGIN WordPress」の前に追加。場所、合ってるかわかんないけど。
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule> # BEGIN WordPress
↓変更前のコード
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
↓変更後。
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule> # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
ファイルを保存して、FTPソフトでアップロードします。
隠しファイル表示設定を元に戻しておきます。
$ defaults write com.apple.finder AppleShowAllFiles FALSE
動作確認
httpでアクセスしてみます。
ちゃんとリダイレクトされました。