wordpressのエラー「返答が正しいJSONレスポンスではありません」対処方法

wordpress wordpress
この記事は約3分で読めます。

wordpressでブログを始める際に、記事や固定ページをブロックモードで作成し保存したところ、「返答が正しいJSONレスポンスではありません」エラーが発生しハマったので、解消方法を記録しておこうと思う。

スポンサーリンク

エラーメッセージ

パーマリンク変更した後からエラーが発生

様々試した結果、パーマリンク設定で基本以外は、エラーが発生した。.htaccessの記述かApacheのmod_rewriteが有効になっていないことが原因っぽそうである。

パーマリンク設定で基本を選択した場合の.htaccess

パーマリンク設定で基本(図①)を選択した場合、以下の記述が出力される。

# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいま
す。
# END WordPress

パーマリンク設定で基本以外を選択した場合の.htaccess

パーマリンク設定で基本以外(図②)を選択した場合、以下の記述が出力される。

# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいま
す。

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]


# END WordPress

以下のコマンドで、rewrite_moduleがApacheに組み込まれていることを確認。

 httpd -M | grep "rewrite_module"

原因と対策

原因は、Apacheにmod_rewriteモジュールは問題なく組み込まれていたが、ConfでAllowOverRide Allが設定されていなかったことにより、指定のディレクトリ配下で.htaccessによるhttp.conf設定の上書きを許可されていなかったことにより発生していた。

※.htaccessが無効化されていた。

最近では、Apahceの設定でデフォルトオフになっているケースがあるみたいなので、新規でApahceからインストールする場合は確認したほうが良さそうである。

下記のDirectory部を追加することで、エラーが解消した。

コメント

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