サポート » 使い方全般 » サイトアドレスの変更でREST API が404になる

  • 解決済 efu22

    (@efu22)


    サイトアドレスを example.com/
    インストールフォルダを example.com/wp/
    にすると、REST APIが404になってしまいます(wp-json にアクセスできない)

    (↓サイトヘルスのエラー表示)
    REST API のテスト時に、予期しない結果が返されました:
    REST API エンドポイント: http://example.com/wp-json/wp/v2/types/post?context=edit
    REST API レスポンス: (404) Not Found

    環境は wp6.1xと6.22、デフォルトテーマでテスト中ですが、他のテーマでも同じ状況です。
    参考情報を調べて設定もいじってみましたが、全プラグインを無効にしたりパーマリンク設定の変更では解決しませんでした。
    最初は問題なくて途中からエラーが出始めるので、サーバ(さくらのレンタルサーバ、ロリポップ)にも問題はなさそうで、XAMPPのローカル環境でも同じ現象が起こります。

    エラーが出たきっかけは「Real Media Library」というプラグイン(無料版)で、何かの折りに突然エラーが出て使えなくなり、次のような説明ページが案内されましたが(自動翻訳で読みましたが)、APIの知識がなくて解決できません。

    「REST APIに到達できない(404)」状態であることは分かりましたが、具体的にどうすれば「エンドポイントを登録」できるのか? など対処方法がさっぱり分かりません。

    WordPress REST API does not respond: What’s the problem?
    https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/

    その後、このプラグインを削除してもサイトヘルスのエラーは残り、再インストールしてもエラーが出たまま。
    新規に別サイトを構築し直しても、最初は普通に動いていても途中から同じ結果になる、という繰り返しです。

    そのうちようやく、サイトアドレスをインストールフォルダと同じ /wp/ にするとエラーが消えることが分かりました。この状態だと http://example.com/wp-json/ にアクセスできることも確認しました。

    しかしインストールフォルダを下層に置くことと、「Real Media Library」(購入予定)も必須の状況です。
    どなたか解決方法をご教示いただけないでしょうか?

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック投稿者 efu22

    (@efu22)

    ※追記させていただきます

    複数作ったテストサイトのうち、1サイトだけ上記のサイト構成のまま、エラーが出ずに無事プラグインが使えているサイトがあることに気付きました。

    するとおそらく、WPとプラグインのインストールとURL変更の手順さえ適切なら、大丈夫なのかと思いました。これについてはあらためて確認したいと思いますが、一旦エラーが出たサイトは依然としてもう直せない状態です…。

    引き続き、よろしくお願いいたします。

    shokun0803

    (@shokun0803)

    efu22さん、こんにちは。

    サイト URL を変更しているという事は、実際のインストールディレクトリは/wp配下にあり、実際に表示する URL はドメインのルートであるということで間違いなかったでしょうか。

    ルートのディレクトリコピーしたindex.php.htaccess等の配置と書き換えが正確にできているか確認されてみてはいかがでしょう。

    ご参考になれば。

    トピック投稿者 efu22

    (@efu22)

    ありがとうございます。
    仰るとおりの構成です。説明不足でしたが、このサイトURL構成自体には慣れており、そこは問題ありません。

    ※サイトURLをインストールフォルダ /wp に戻すと、wp-json にアクセスできることを確認済みです。

    ですがAPIを使うプラグインの利用機会がなかったので、このようなエラーは初めてです。APIについての知識がなくて分かりませんが、いろいろ検索した結果、どうやらこのプラグイン固有の問題ではなさそう? と思いましたがどうでしょう。
    (プラグイン開発元に質問する英語力があれば、一応聞いてみるところですが…)

    あまりにもお手上げ状態で、今回は本番環境のWPも再インストールしかないと諦めましたが、もしまた本番環境で同じエラーが出た時に直せないのが恐ろしいので、何とか解決策や原因だけでも分かると大変助かります。

    よろしくお願いいたします。

    • この返信は11ヶ月前にefu22が編集しました。
    トピック投稿者 efu22

    (@efu22)

    再インストールした本番サイトで、早速同じエラーが出てしまいました。サイトURLを /wp から / に変更した時点でやはりダメでした。。
    (プラグインを入れる前なら大丈夫かと思ったのですが…)

    ※追記:すみません、やはりご指摘のとおり、TOPのindex.phpの中身に問題がありそうです! サイトトップに静的ページを置いており、wp-blog-header.phpへのリンクが抜けていることが原因ではないかと!
    リニューアルにあたって複雑な構成になっているので、対策を考えたいと思います。
    (とりいそぎ、自力で解決できるかもう少し状況を調べてみます)

    • この返信は11ヶ月前にefu22が編集しました。
    • この返信は11ヶ月前にefu22が編集しました。
    トピック投稿者 efu22

    (@efu22)

    大変お騒がせして申し訳ありません。
    index.phpと.htaccessを見直して無事に直すことができました。
    工事中で混乱していたところへ初めてのエラーでパニックになり、単純なミスに気が付きませんでした…(お恥ずかしい!)

    @shokun0803様、冷静さを取り戻させてくださり、感謝します。
    (それくらいしか原因が思いつかないよ、ということだったかもしれませんね!)

    解決済みとさせていただきます^^;

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「サイトアドレスの変更でREST API が404になる」には新たに返信することはできません。