困った。
症例
ContactForm7で作ったフォームが軒並み送信ができなくなった。
探ってみると、WPにログイン中なら送信できる。
ということはREST APIが関係してるのでチェックしてみた。
非ログイン時、「rest_login_required」の401エラーが出る。
{"code":"rest_login_required","message":"REST API restricted to authenticated users.","data":{"status":401}}
以前WPをいじった時に、REST APIを無効化すると色々不都合が起きる中にCF7が動かなくなることはわかっていた。だけども無効化した覚えがない。まさかと思ってテーマファイルを漁ったけどやっぱりその設定はなかったし、サーバー側の設定を覗いても無効化してない。打つ手がないんですが?
プラグインで解決
ここに書いてあるとおり。
ContactForm7でクルクルして送信できない現象の解決対処方法 - ベルリネッタ株式会社
contactform7でクルクルして送信できない。「昨日まで動いてたのに」とか「Controls for Contact Form 7」で解決したハズなのにまたか!などなどフラストレーションが高まるCF7です。特に、ログイン状態だと送信で...
プラグインはこれ。
Controls for Contact Form 7 (Analytics & Tracking)
Simple controls, analytics, tracking and redirects for Contact Form 7.
「AJAX Submissions」にチェックを入れて保存する。
保存できない、「Forbidden access」のエラーページが出た場合はWAFに引っかかってる。英文モリモリの更新作業はスパム扱いを食らいがちなので仕様として受け止める。
時分のIPを調べて除外のコードを.htaccessに書き込む。
<IfModule siteguard_module>
SiteGuard_User_ExcludeSig ip(***.***.*.*)
</IfModule>
編集した.htaccessをアップしたら一旦ブラウザを再読込して、再設定する。記述が間違ってなければ普通に更新できる。
そんな感じで。
原因について
同一環境どころか同サーバーで複数のWPを同じ感じで運営して、同じような改造を施してあるのだけど1サイトだけがCF7の不具合に見舞われた。なんなんでしょう。マジでわからない。しかも複数人が手を入れた後だから、症状が出たタイミングもわからない。怖い。
コメント