web-dev-qa-db-ja.com

WordPress V2のREST-API:エンドポイント404?

WP REST AP​​Iプラグインの最新バージョンをインストールしてアクティブ化しました 。しかし、RESTエンドポイントにアクセスしようとすると、 Apache 404ページが表示されます。

$ curl -i 'http://example.com/wp-json/wp/v2/posts/1'
HTTP/1.1 404 Not Found
Date: Wed, 20 Jul 2016 01:23:25 GMT
Server: Apache/2.4.18 (Unix) PHP/5.6.23
Content-Length: 219
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /wp-json/wp/v2/posts/1 was not found on this server.</p>
</body></html>

つまり、WordPress自体は呼び出されません。私は上記の要求がある種のエラーを投げることを期待しています(私は認証されていない接続を試みているので)。しかし、私のWordPressシステムは完全に迂回されています。

私はここでは経験豊富なPHP開発者ですが、私はWordpress devに出入りするだけなので、明らかな答えを持つ可能性のある質問を前もって謝罪します。インストール手順からのこの暗号化されたテキストは、関連性があるようです。

フルフレーバーのAPIをサポートするには、プラグインを使用するためにかなりパーマリンクを使用する必要があります。これは、カスタムの書き換え規則を使用してAPIを強化するためです。

しかし、WordPressのルーティングシステム(またはそれと同等のもの)に慣れていないので、この問題をデバッグするための次のステップが何になるのかよくわかりません。

1
Alan Storm

パーマリンク構造を変更してみてください。ダッシュボード内でSettings > Permalinksに行き、Post Name構造体を選択します。これが完了したら、Save Changesをクリックしてください。

Post Nameが既に選択されている場合、パーマリンクをリセットするためにもう一度変更を保存をクリックする価値があるかもしれません。

更新 :以下のコメントによると、Wordpressは箱から出して、そのフロントエンドアプリケーション用の.htaccessファイルを同梱していない。パーマリンクの設定を変更すると、Wordpressはあなたのために.htaccessファイルを書き出します。許可されていない場合は、その旨の通知が表示されてUIが更新され、ページの下部に必要なルールが表示されます。

3
Marc