home / blog / nginx + wordpressの記事更新でエラーした時のメモ

nginx + wordpressの記事更新でエラーした時のメモ

記事更新を押した所、「更新に失敗しました。返答が正しいJSONレスポンスではありません。」と表示されて更新ができなかった。

原因

サブディレクトリにwordpressをインストールし、サイトURLはルートを指定している。

しかし、ルートにはindex.phpを置かずに動かしているため、https://wp-json/wp/v2/postsにアクセスしてもwordpressのapiが動かなかった。

解決方法

/etc/nginx/nginx.confに以下を追加した。

location ~ ^/wp-json/ {
     rewrite ^/wp-json/(.*?)$ /wp/?rest_route=/$1 last;
}

wp/の部分はwordpressのインストールディレクトリを指定。

https://example.com/wp-json/wp/v2/posts にアクセスが来たら、

http://example.com/wp/?rest_route=/wp/v2/posts に書き換える。