症状:もっと見るボタンをクリックするとBasic認証が表示される
WordPressでAjax Load Moreを利用して記事一覧の「もっと見る」機能を実装していました。
開発環境では正常に動作していたため問題ないと思っていましたが、本番公開後、一部のブラウザで「もっと見る」ボタンをクリックするとBasic認証の入力画面が表示される問題が発生しました。
発生したブラウザは以下でした。
- Microsoft Edge
- Firefox
一方で、Chromeでは問題なく動作していました。
原因:admin-ajax.phpにもBasic認証がかかっていた
本番環境では管理画面のみBasic認証をかけていました。そのため、下記のファイルへのアクセス時にBasic認証が発生していました。
/wp-admin/admin-ajax.php
開発環境では、サイト全体にBasic認証を設定しており、最初にサイトを見る時点でBasic認証を通過しているため、Ajax通信時にも問題なく動作していました。
そのため、本番公開するまで問題に気づくことができませんでした。
また、Chromeでは正常に動作していたため、さらに発見が遅れる原因になりました。
解決策:admin-ajax.phpのみBasic認証を解除する
本番環境では、管理画面へのBasic認証は維持したまま、Ajax処理に必要な以下のファイルだけ認証対象から除外しました。
/wp-admin/admin-ajax.php
admin-ajax.phpへのアクセスを許可することで、Ajax Load Moreの「もっと見る」機能が正常に動作するようになりました。

