この答えは、あなたは、Apache 2.1以降で使用している前提としていますmod_authz_host
モジュールで
を、あなたは、.htaccessファイルや<場所にホスト名でアクセス制御を行うことができます>または<ディレクトリ>例えば、httpd.confファイルのセクション、:あなたはここで、部分的なドメイン名を使用することができます
<Location />
Allow from apache.org
Allow from .net example.edu
</Location>
注ので、www.apacこの例では、he.orgにアクセスが許可されます。
、あなたがmod_authz_host
がインストールされていることを確認してくださいあなたのhttpd.confで次のような行を確認するには:これで
LoadModule authz_host_module modules/mod_authz_host.so
一つの欠点は、各アクセスのための逆引き参照を行うということです、これはパフォーマンス上の問題であるかどうかは関係ありません。
別のオプションは、User-Agentによって制限することです。しかし、User-Agent
は非常に簡単に偽装することができるため、これは信頼性の低い手法です。 D
User-Agent
で制限するには、mod_authz_host
モジュールに加えてmod_setenvif
モジュールもロードする必要があります。 、>
LoadModule setenvif_module modules/mod_setenvif.so
その後、あなたは<場所でのアクセス制御を設定することができ<ディレクトリ>、または.htaccessを以下のように:あなたのhttpd.confで次のような行をチェック
SetEnvIf User-Agent ^facebookexternalhit/1\.1 let_me_in
<Location />
Order Deny,Allow
Deny from all
Allow from env=let_me_in
</Location>
を