[WordPress]さくらサーバでWordPressをSSL対応させる
webさくらのSSL対応はちょっとやっかい
さくらは他のサーバとくらべ、SSL対応時に特殊な対応が必要になります。
編集する必要はあるのは、
- wp-config.php
- rootの.htaccess
です。
wp-config.php
if( isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR']) ) {
$_SERVER['HTTPS'] = 'on';
$_ENV['HTTPS'] = 'on';
$_SERVER['HTTP_HOST'] = 'YOURDOMAINNAME.com';
$_SERVER['SERVER_NAME'] = 'YOURDOMAINNAME.com';
$_ENV['HTTP_HOST'] = 'YOURDOMAINNAME.com';
$_ENV['SERVER_NAME'] = 'YOURDOMAINNAME.com';
}
wp-config.php
上記コードをwp-config.php
の上のほう(mySQLの上など)にコピペして使います。
YOURDOMAINNAME.com
を使用するドメインに書き換えてね。
.htaccess
次に、ルートの.htaccess
を編集します。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
RewriteRule ^(.*)$ https://YOURDOMAINNAME.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ https://YOURDOMAINNAME.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.YOURDOMAINNAME\.com
RewriteRule ^(.*)$ https://YOURDOMAINNAME.com/$1 [R=301,L]
</IfModule>
元々あった# BEGIN WordPress
以下はさわらず、その上に上記コードを足してください。
こちらもYOURDOMAINNAME.com
を使用するドメインに書き換えてね。
.htaccessをいじったあとは
.htaccess
をいじると、WordPressの下層ページが500エラーになったりなど不安定になります。
そんな時は、ダッシュボードのパーマリンク設定ページを開き、なにも設定をいじらずに保存ボタンをクリック。
これでエラーは解消されるはず。