Apache2.4の設定です。
HTTP_ACCEPT_LANGUAGEにjaという文字列が含まれていた時にのみアクセスを許可します。しかし、これだとGooglebotはじめ各種botも拒否してしまう可能性があります。そこで、HTTP_USER_AGENTに含まれる文字列も併用してアクセス制御します。
試行錯誤しましたが、最終的に次の4行にまとまりました。
SetEnvIfNoCase Accept-Language ja Ja
<If "%{HTTP_USER_AGENT} =~ /Mozilla.*(Chrome|Gecko|MSIE).*/">
Require env Ja
</If>
これで、Google先生のアクセスを受け入れつつ、非日本語ブラウザを拒否できるようになりました。