以前から #Wordpress のメニューの設定が不安定で困っていました。困っちゃあいたのですが、再読み込みしたり、設定する管理画面を違えたりすると、なんとなく出来ちゃっていたので解決を先送りにしていました。
しかしなが、ついにプツン&カーッときて調査をしてみたら、比較的あっさりと解決できました。自らの備忘をかねて投稿しておきます。
私のお世話になっているホスティングサービスは #ヘテムル さんです。長年お世話にってます。(感謝。)最近、サービス形態に変化があり、ドキドキしながらサービス移行を済ませました。すんなりいきました。(重ねて感謝。)
WordPressで困っていたのは、管理画面の「外観」項目内の「メニュー」でメニュー項目を登録したあとで「メニューを保存」というボタンを押すと、「閲覧できません(Forbidden Access)」という画面に遷移して保存が確定されないとう現象でした。
これはヘテムルサービスでの表示で、ロリポップでは403エラーと表示されるそうです。
困っていたのですが、同じく「外観」項目内の「カスタマイズ」からメニューの設定をすると、なんとなく保存できていたのです。そんなわけで迷惑な現象ぐらいにしか思ってなかったのですが、ここにきてこちらもダメになってしまいました。
「何かうまくいかなったようです。時間をおいてもう一度お試しください」というメッセージがでるので何度か試してみたのですが、どうしても登録が終了しなくなってしまったのです。
いたしかたなく調べてみたところ、 #WAF (Web Application Firewall)の誤検知によるものらしいということです。私にはサーバーシステムのスキルは程んどないので言われるがままです。
参考にしたのは「【一瞬で解決】WordPressの閲覧できません(Forbidden access)エラー」と「【閲覧できません(Forbidden Access)】ConoHa WINGエラー時の解決方法」です。(感謝。)
試しにヘテムルのコントロールパネルの「WAF設定」ページで該当ドメインのWAFをOFFにしてみたのですが、どうもうまくいきませんでした。メニューを保存するときだけOFFにするって手は使えない様子です。
ここで注目。ボタンの右隣に「ログ参照」というリンクがあります。これが解決の鍵になります。これ閑話ではありません。ささっと「ログ参照」に遷移してみましょう。
「WAF(Webアプリケーションファイアウォール)が検知してアクセスを拒否したログを表示します。」とあって、その下のコラムに、
403エラーが発生している場合、WAFによるアクセス遮断が発生している可能性があります。
WAFの検知ログに表示されている除外記述を.htaccessファイルに追記することで対処が可能です。マニュアルを参考にご対応ください。
とあります。
はい、マニュアル「WAFの設定方法」を開き、よく読んで指示に従いましょう。解決はもうすぐそこです。
情報を利用しますのでログページは開いておいてください。気をつけなきゃいけないのは、アクセスを拒否されたログが自分のものであるかを確認することです。
間違いなければ、ドメイン直下の.htaccessファイルの最終行にコピペしてアップしてやれば終了です。
あまりにもすんなりと「メニューを保存」ができるようになったので、調査せずにいたことを後悔しました。すこしね。そかさ。