すみません。もしかしてサーバがApacheと違って動作が異なるのであればすみません。
「FilesMatch なので、wp-adminというディレクトリやその文字列が含まれるファイルへのアクセスを意味するものだと思います。」とお書きなので、すみませんが、そのエビデンスを教えていただけませんか?
Apacheのドキュメンテーションでは、FilesMatchについて、「<FilesMatch>
ディレクティブは、 <Files>
ディレクティブ同様にその中にあるディレクティブの適用範囲をファイル名で制限します。」とあり、Filesディレクティブでは、「このセクション中のディレクティブは、ベース名 (ファイル名の最後の部分) が指定されたファイル名にマッチするすべてのオブジェクトに適用されます。」と、わざわざベース名と指定してパス名は排除しています。
これを素直に読むと、「FilesMatch
は ファイル名だけ に適用。ディレクトリにはマッチしない。」となります。ディレクトリを指定したい場合は、<Directory>
や<DirectoryMatch>
ディレクティブを使用します。ただしこれは.htaccessでは使えないので、そのディレクトリに.htaccessを配置するということになりますが…。
また、逆に説明すると、プラグインやテーマには、「admin-ajax.php」にアクセスするものがあり、アクセスできないと不具合が出ます。これがIPアドレスで制限がかけられていると、allow指定されていないIPアドレスから見ると、サイトに何らかの不具合が出るはずです。それがないということは、現状、wp-adminディレクトリにあるadmin-ajax.phpへは制限がかかっていないということになります。ということは、FilesMatchで指定しているwp-adminは機能していないということではないでしょうか。