WordPressで記事を更新しようと思ったら
「更新に失敗しました。返答が正しいJSONレスポンスではありません」
というエラーメッセージが出て更新できない。
こういった場合はhtaccessファイルが自動作成されていない可能性があります。
その対処法についてお話しします。
原因はhtaccessファイル
このサイトを新規に立ち上げた時はConohaWingで自動的にWorkPressをインストールしました。
しかしながらなぜかhtaccessファイルが作成されていませんでした。
以前にも他のサイトを立ち上げた時は問題なく自動作成されていました。
パーマリンク設定でhtaccessファイルは自動作成される
調べて見るとパーマリンクを設定することでhtaccessファイルが作成されるようです。
パーマリンクは設定したはずですが、念のためもう一度パーマリンクの設定を2、3度変更してみました。しかしhtaccessファイルが作成される気配はありません。
htaccess手動で作成する
そのためhtaccessファイルを手動で作成することにしました。
手順としてはルートフォルダにテキストファイルを作成し
以下を記述してルートフォルダ(このサイトならhttps:bacana-blog.com/)に.htaccessとして保存するだけです。
私の場合は複数のサイトがありますので、他のサイトのhtaccessをコピペして保存し、無事動きました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# BEGIN WordPress # "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は # 動的に生成され、WordPress フィルターによってのみ修正が可能です。 # これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。 <IfModule mod_rewrite.c> 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] </IfModule> # END WordPress |
テーマとの相性もあり?
今回のhtaccessファイルが自動作成されないという現象はDIVERで起こりましたが、CocoonとJINでは自動作成されるのを確認しました。
そのためエラーが出る場合はCocoonなどに一度テーマを切り替えて、1記事更新すればhtaccessが自動作成されます。
あまりファイルを自分でいじりたくない人にはこの方法もおススメです。
エラーが出たらセキュリティー設定もチェック
ConoHaWingにはWAFというセキュリティー機能もあり、それで更新時にエラーが出ることもあるようです。
エラーが出た時はこのWAFをOFFにすると上手く行くようです。
WAF自体は外部攻撃に対する有効なセキュリティー対策なので編集が終わったあとはONに戻しておいた方が良いと思います。
なお今回のDIVERでhtaccessが自動作成されないという現象はWAFをOFFにしても解決しませんでしたので関係ないようです。