メニュー

🆘WordPressサイトでTOPページ以外がTOPページに301リダイレクトされてしまうとき(テーマを停止してもプラグインを停止してもどうにもならない&さくらサーバー使用)

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に統一する設定を入れなくていいのかも?