『公開に失敗しました。 返答が正しい json レスポンスではありません。』 – WordPressでのエラーについて
記事をアップロードしようと更新を押下したところ画像のようにエラーが表示され記事を公開できなくなりました。ログを確認したところ.htaccess
ファイルの破損が原因でした。
- /wp-admin
- /wp-content
- /wp-includes
- .htaccess ←このファイル
- index.php
- license.txt
- readme.html
- wp-activate.php
- wp-blog-header.php
- wp-comments-post.php
- wp-config-sample.php
- wp-config.php
- wp-cron.php
- wp-links-opml.php
- wp-load.php
- wp-login.php
- wp-mail.php
- wp-settings.php
- wp-signup.php
- wp-trackback.php
- xmlrpc.php
このファイルを元に戻すことで更新ができるようになりました。.htaccess
をもとに戻すには管理画面からパーマリンクを更新すると自動生成されます。
htaccessファイルを元に戻す
前提として上記のディレクトリ階層に.htaccess
ファイルがあることを確認してください。ない場合は新しく作成してください。ファイルの中身は空っぽで大丈夫です。こちらの中身は下記の工程で動的に生成されます。もしパーマリンク構造が【基本】であれば下記のコードを.htaccessにペーストすれば投稿の更新はできるようになるかと思います。
# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
# END WordPress
管理画面を開き【設定】→【パーマリンク】にアクセスし、元々ご自身が設定していたパーマリンク構造に設定し変更を保存します。保存すると.htaccess
ファイルが更新され、投稿も復旧するかと思います。
Apachの問題も
.htaccess
ファイルはWordPress側で動的に書き込みできるようになっています。もし上記の設定で更新されない場合はApach側の問題もあるかもしれません。apache/conf/httpd.conf
ファイルのLoadModule rewrite_module modules/mod_rewrite.so
が有効になっているか確認をしてみてください。こちらがオフになっているとWordPress側でのパーマリンク設定の更新ができなくなります。
LoadModule rewrite_module modules/mod_rewrite.so