返答が正しいJSONレスポンスではありませんと出たときの対処法

WordPress

WordPressで返答が正しいjsonレスポンスではありませんというエラーメッセージが表示され、更新も公開もできなくなったので、原因と解決法をまとめました。

なぜ発生するのか

このエラーはWordPress5.0から搭載されたエディタ「Gutenberg(グーテンベルグ)」が原因です。つまり、Classic Editorプラグインを利用し、Gutenbergの使用をやめると、ひとまず解決します。

ですが、次の問題もあります。

  • 根本的な解決ではない
  • Classic Editorは2022年に廃止が決まっている

そのため、Gutenbergを使いつつエラーを出さない方法を調査しました。

.httaccessの問題

WordPressで「基本」以外のパーマリンクを設定すると、.htaccessに以下の記述が必ず記載されます。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

このmod_rewriteの設定が消えていると、返答が正しいJSONレスポンスではありませんとエラーが発生します。

では、どういった場合にこの設定がきえるかは、

  • WordPressのパーマリンクを「基本」に戻した場合
  • レンタルサーバーのコントロールパネルから設定変更した場合

というように、自分で変更した覚えがないのに外的要因で.httaccessが書き換えられると発生します。

この場合、WordPressのパーマリンク設定で再度保存すると.htaccessが上書きすると解決します。

他にもいろいろな要因があるため、追記していきます。

コメント

タイトルとURLをコピーしました