====== リダイレクトでWordPressの管理画面にログインできない ====== SSL化したことによって、リダイレクト処理がループし、管理画面にログインできなくなった場合の対処法。\\ ===== ロードバランサの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 参考:[[https://qiita.com/xtetsuji/items/36d85bb49a518ed7b1da|PHP の $_SERVER['HTTPS'] が on になる流れ 〜Apache mod_php 編〜]] ===== 管理画面のサイトアドレスが原因の場合 ===== 管理画面で「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';