WordPressで作ったサイトが突然TOPページしか表示されなくなったときのトラブル対応メモです。
条件や現象は以下となります。
- TOP以外のページは全てTOPページに301リダイレクトされる。ただしHTMLファイルへのアクセスは可能。
- テーマやプラグインを更新しても直らない。
- 異なるテーマを使用したり、プラグインを停止しても直らない。
- wp-config.phpやhtaccessには目立った問題は見当たらない。
- さくらのレンタルサーバーを使用。
トラブル対応で頭打ちかと思いきや、意外なところに問題がありました。
HTTP:X-Sakura-Forwarded-Forを消す
さくらのレンタルサーバーさんで案内があった(´・ω・`)
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
</IfModule>
HTTP:X-Sakura-Forwarded-Forは元々さくらサーバーさんで標準の仕様だったようですが、OSのアップデートに伴い「HTTP:X-Sakura-Forwarded-For」を残したままだとかえって問題が生じるようになったみたいですね(´ω`)
ひとまずトラブル対応が完了してホッとしました。
ただし上記のコードを外した状態でも、(ブラウザ設定関係なく)httpからアクセスしてもhttpsのサイトが表示されます。
SSL/TLS証明書を発行したときに自動的にSSLに統一される設定が書き加えられるので、今後はレンタルサーバー利用者側でhttpsに統一する設定を入れなくていいのかも?
WordPress対応ナレッジ一覧
-
🏷️wp_nav_menuのHTML出力カスタマイズ方法
-
🏷️野良プラグインに登録したHTMLコンテンツをショートコードから呼び出す方法
-
🏷1階層下にコアファイルがあるWordPressサイトをドメイン直下で公開するときの手順
-
🚨ヘッドレス化でアップロードディレクトリを変更するときの注意点
-
🚨wp_body_open()を使ってbody直下にHTMLタグを入れることは難しい
-
🆘WordPress.orgとWP Engineの動向から考える制作&開発
-
🆘「Briefly unavailable for scheduled maintenance. Check back in a minute.」という画面になったときに速攻解除する方法
-
🆘これといった原因がないのにDB接続エラーになってしまったときの覚書
-
🆘WordPressサイトでTOPページ以外がTOPページに301リダイレクトされてしまうとき(テーマを停止してもプラグインを停止してもどうにもならない&さくらサーバー使用)