レンタルサーバーを申し込んでサイト構築する上で現在非常に重要となっているのが「https」化である。エックスサーバーは独自「SSL」を無料で使用することが可能であるが今回はどのように設定するのか説明していきます。
https化について
簡単に説明すると「https」は「http」よりもセキュリティの高い通信を可能にした技術。こんがらがるがその通信技術が「SSL」ということ。Googleも公式的に「http://」に比べ「https://」のサイトを評価すると発表しており今や「yahoo」や「Google」「Facebook」ほぼ全てのサイトに行けばわかるが「https://」で通信することになっています。
エックスサーバーで独自SSL設定
エックスサーバーの場合にはサーバーパネル内にある「SSL設定」をクリックし「ドメイン選択画面」から追加したドメインを選択。上のタブを「独自SSL設定の追加」に切り替え。追加したいドメインが表示。「CSR情報(SSL証明書申請情報)を入力する」のチェックボックスは、チェックを入れ、ドメイン右下の「確定」ボタンを押して、設定を確定させる。「SSL新規取得申請中です。しばらくお待ちください。」の表示。WordPressの管理画面の「WordPressアドレス(URL)」と「サイトアドレス(URL)」の欄のアドレスを「https://」に変えて変更を保存。最後に「htaccess」の編集をします。
htaccess編集
「htaccess」の編集はとてもややこしく思うかもしれませんが大事ですので挑戦して下さい。失敗するとサイト自体が真っ白になったり500エラーが発生する可能性があるので注意が必要です。(経験ずみ)
初期では以下のようになっているはず。
# 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
「Xアクセラレータ」機能を設定している人は
SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off
SetEnvIf Request_URI ".*" Ngx_Cache_StaticMode
# 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
こうなっています。
次のコードを追記します。このコードは「http」からきても「https」に自動で変換しますよ。という意味です。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
なのでこのように記述をしてください。
SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off
SetEnvIf Request_URI ".*" Ngx_Cache_StaticMode
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !on
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
htaccessのルールで必ず最後は改行が必要です!初期と同じように「# END WordPress」の前に改行が入っていることを確認してください。