403 Forbiddenエラーとは、ウェブサイトが閲覧禁止となっている状態を表すHTTPステータスコードです。
WordPressを別サーバーに移行した際に、色々問題が発生したので対処方法をまとめておきます。
管理画面の無限リダイレクトループが発生する場合は、管理画面でのSSLの強制の設定を行う必要があります。
wp-config.php
に追記しましょう。
また、ハマリポイントなのですが、wp-settings.php
の読み込みよりも前に設定する必要があります。
define('FORCE_SSL_ADMIN', true);
if ( ! empty( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' ) {
$_SERVER['HTTPS']='on';
}
require_once(ABSPATH . 'wp-settings.php');
参考: https://wpdocs.osdn.jp/%E7%AE%A1%E7%90%86%E7%94%BB%E9%9D%A2%E3%81%A7%E3%81%AESSL%E9%80%9A%E4%BF%A1
もし、パーミッションに問題がある場合はエラーログに何か出力されていると思いますので、エラーログを確認しましょう。
エラーログファイルの場所はNginxの設定ファイルに記載されています。
wp-content/plugins/
のplugins
ディレクトリの名前を変更すると、WordPressのプラグインが無効となるようです。
もし、ディレクトリ名を変更して、問題が解消されれば、影響のあるプラグインを1つ1つ調査しましょう。
wp-config.php
で設定できるテーブルの接頭辞を変更した場合は、対応が必要なようです。
(403エラーとなるかどうかは検証していません。)
$table_prefix = 'wp_';
例えば、wp_
からwp2_
に接頭辞を変更した場合は、
移行するテーブル名だけではなく、テーブルのカラムの値も同じ接頭辞wp2_
に置き換えてからリストアするようにしましょう。
WordPressのサーバー移管については、結構知らなハマってしまうポイントが多いですね。。