SSL化したことによって、リダイレクト処理がループし、管理画面にログインできなくなった場合の対処法。
ロードバランサのSSLアクセラレータを使っている場合、Webサーバ側で $_SERVER['HTTPS'] の値が on にならず、延々とリダイレクトを行うことになります。
この場合は wp-config.php の「編集が必要なのはここまでです」の後に
$_SERVER['HTTPS'] = 'on';
を追加することでリダイレクトが解消されます。
(環境変数の値を上書きするのは、抵抗がありますが・・・)
※ 注意点として wp-settings.php が読み込まれる前に書く必要があります。
/* 編集が必要なのはここまでです ! WordPress でのパブリッシングをお楽しみください。 */ /** Absolute path to the WordPress directory. */ if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/'); // これを追加する $_SERVER['HTTPS'] = 'on'; /** Sets up WordPress vars and included files. */ require_once(ABSPATH . 'wp-settings.php');
サーバ設定を変更できるなら、以下でも対応可能。
SetEnv HTTPS on
管理画面で「WordPress アドレス (URL)」や「サイトアドレス (URL)」の設定変更でミスをした場合。 DBにアクセスし、siteurl と home の設定が正しいか確認する。
select * from wp_options where option_name = 'siteurl' or option_name = 'home' order by option_id; +-----------+-------------+-------------------------+----------+ | option_id | option_name | option_value | autoload | +-----------+-------------+-------------------------+----------+ | 1 | siteurl | https://example.com/cms | yes | | 2 | home | https://example.com/ | yes | +-----------+-------------+-------------------------+----------+ 2 rows in set (0.00 sec) # もし間違っていた場合は直す update wp_options set option_value = 'https://example.com/cms' where option_name = 'siteurl'; update wp_options set option_value = 'https://example.com/' where option_name = 'home';