「 /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>