Apache wordpress ベーシック認証

「 /wp-admin/ で始まる文字列だけど /wp-admin/admin-ajax.php にはマッチしない」という正規表現が書ければ、LocationMatch ブロックディレクティブ1つで意図した拒否ができそうです。
実はそういう正規表現を書くことができます。これを実現するのが正規表現の 否定の先読み です。
実際に見てみましょう。

<LocationMatch "^/wp-admin/(?!admin-ajax\.php)">
        AuthType Digest
        AuthName "interest_ae"
        AuthDigestDomain /
        AuthUserFile /var/www/auth/post.digest
        Require valid-user
</LocationMatch>

正規表現の否定の先読みで admin-ajax.php を除外しつつ /wp-admin/ 以下のアクセスを拒否する - Qiita

wp-admin/ (wp-admin/admin-ajax.php は対象外)
wp-login.php

<LocationMatch "^/(wp-admin/(?!admin-ajax\.php)|wp-login\.php)">
        AuthType Digest
        AuthName "interest_ae"
        AuthDigestDomain /
        AuthUserFile /var/www/auth/post.digest
        Require valid-user
</LocationMatch>