• 解決済 sugiura

    (@sugiura)


    はじめまして。
    もしヒントとなる事、試せる事がありましたら教えていただけると助かります。
    フォーラム内は探してみましたが、もしも既出のトピックでしたらすみません。

    エラーの説明としましては、サーバAでテーマを作成し、そのテーマをサーバBに移したところ、今回の症状が発生しています。
    サーバAでは動作が問題ありませんでした。
    両環境ともWP 4.7.4 、WPCF7 4.8 です。

    試したことは、デフォルトテーマに戻して、WPCF7以外のプラグインを無効にした程度です。
    サーバが変わった以外にはファイルに変更がないため、動作しない理由がわかりません。
    サーバBはSSLでIP制限されております。これが何か影響を与えることはありますでしょうか?
    /wp-json/が制限されているのかと思いましたが、こちらはGETで正常に返って来て、namespaceに/contact-form-7/v1/も存在しています。
    テストでフォームを作って何も入れずに送信をした場合のPOSTの結果は

    {
     "code":"rest_no_route",
     "message":"URLとリクエストメソッド(request method)に合ったルートがありません",
     "data":{
      "status":404
     }
    }

    です。
    フォームidが違う場合には
    {"code":"wpcf7_not_found","message":"The requested contact form was not found.","data":{"status":404}}
    なので、やはりサーバ側のmod_rewriteや何らかの設定がうまく行っていないのかと思っていますが、原因がわかりません。(/wp-json/contact-form-7/v1/ の結果はサーバAとサーバBの結果が同じなのでrewiteは正常のように見えるからです。)
    どこかのフォーラムでContact Form 7 の4.8よりREST APIになったということで、4.7にバージョンを下げてみましたが、4.7でもバリデーションエラーなど返ってこずにスピナーがまわり続けて同じような症状です。

    どうぞよろしくお願いいたします。

    • このトピックはsugiuraが7年、 3ヶ月前に変更しました。
5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック投稿者 sugiura

    (@sugiura)

    環境が同じと申し上げましたが、サーバBでは、wp-config.phpに

    if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
        $_SERVER['HTTPS'] = 'on';

    を記載しています。
    宜しくお願いいたします。

    トピック投稿者 sugiura

    (@sugiura)

    POSTが失敗しているのかと思いましたが、POSTで
    https://***/wp-json/contact-form-7/v1/
    としても
    {"namespace":"contact-form-7\/v1","routes":{"\/contact-form-7\/v1":{"namespace":"contact-form-7\/v1","methods":["GET"],"endpoints":[{"methods":["GET"],"args":{"namespace":{"required":false,"default":"contact-form-7\/v1"},"context":{"required":false,"default":"view"}}}],"_links":{"self":"https:\/\/***\/wp-json\/contact-form-7\/v1"}},"\/contact-form-7\/v1\/contact-forms":{"namespace":"contact-form-7\/v1","methods":["GET","POST"],"endpoints":[{"methods":["GET"],"args":[]},{"methods":["POST"],"args":[]}],"_links":{"self":"https:\/\/***\/wp-json\/contact-form-7\/v1\/contact-forms"}},"\/contact-form-7\/v1\/contact-forms\/(?P<id>\\d+)":{"namespace":"contact-form-7\/v1","methods":["GET","POST","PUT","PATCH","DELETE"],"endpoints":[{"methods":["GET"],"args":[]},{"methods":["POST","PUT","PATCH"],"args":[]},{"methods":["DELETE"],"args":[]}]},"\/contact-form-7\/v1\/contact-forms\/(?P<id>\\d+)\/feedback":{"namespace":"contact-form-7\/v1","methods":["POST"],"endpoints":[{"methods":["POST"],"args":[]}]},"\/contact-form-7\/v1\/contact-forms\/(?P<id>\\d+)\/refill":{"namespace":"contact-form-7\/v1","methods":["GET"],"endpoints":[{"methods":["GET"],"args":[]}]}},"_links":{"up":[{"href":"https:\/\/***\/wp-json\/"}]}}
    と返ってくるので、
    https://***/wp-json/contact-form-7/v1/contact-forms/<formID>/feedback
    が404になる原因がわかりません。

    リバースプロキシ等の問題でしたら書き込む場所を間違えており申し訳ありません。

    モデレーター Takayuki Miyoshi

    (@takayukister)

    FAQ > フォームの送信後、回転する矢印のアイコンは現れるのですが、それっきりで何も起きません。

    原因に心当たりがない場合はサイトの URL を書いてください。誰か手がかりを見つけられるかもしれません。

    トピック投稿者 sugiura

    (@sugiura)

    Takayuki Miyoshiさま

    ご返信いただきありがとうございます。

    制限がかかっている環境のためサーバー情報を記載してもご確認いただけないため申し訳ありませんが記載は控えさせて頂きます。
    別環境(サーバC)にテーマを設置したところ(wp-configのhttpsも記載)、SSL、非SSL環境共に動作するためやはりサーバBの設定かと思われます。
    また、サーバBに移す際にDBをインポートしていたため気づいていませんでしたが、サーバBではi18nプラグインのBogoの翻訳ボタンも同様にRESTのPOSTでエラーという状況でした。

    完全に質問先を間違えてしまい申し訳ありませんが、解決した際に状況報告できたらと思いますので閉じないでおきます。
    宜しくお願いいたします。

    トピック投稿者 sugiura

    (@sugiura)

    こちらはサーバーのリダイレクト設定が間違っていたようで、POSTがGETに変換されていたようでした。
    確認不足でもうしわけありません。
    ご覧いただきましてありがとうございました。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「contact form 7 でスピナーがまわり続ける」には新たに返信することはできません。