【WordPress】「返答が正しい JSON レスポンスではありません。」の落とし穴

2024年2月22日

経緯

サーバー移行の際にWordPressで起きた,
パーマリンクを変更できないエラーの解決にものすごい時間を溶かしたのでメモ
Apacheを利用している人向け

おそらく以下のエラーはすべて対象(自分が確認できた今回のJSON関係のエラー)

「更新に失敗しました。 返答が正しい JSON レスポンスではありません。」
「公開に失敗しました。 返答が正しい JSON レスポンスではありません。」
「REST API でエラーが発生しました」
「/wp-json/ was not found on this server」

他の記事のパーマリンクを基本以外にするとか,
WAFを無効にするとか,
プラグインを消すとかすべて試したけど時間の無駄だった

それはさておき解決方法は以下の通り

結論

Apacheのconfファイルに
「AllowOverride All」がなかった

いやなんで?

サイト移行の際に適当に設定してしまったことで,
httpd.confのバーチャルホスト設定に書くべきAllowOverride Allを
忘れていたせいでパーマリンクの変更に不具合が起きていた

正直なんでこれが関係しているのかわからないけど,自分は完全にパーマリンク含め
その他のJSONエラー類がすべて治った

AllowOverride NoneとかでもだめなのでちゃんとAllになっているか確認しよう

同じエラーで悩んでいる一部の人の助けになれば幸いです