7

特別なディレクトリのすべてのボット/クローラー/スパイダーをブロックしようとしています。どうすればそれを行うことができhtaccessますか? 少し検索して、ユーザー エージェントに基づいてブロックすることで解決策を見つけました。

RewriteCond %{HTTP_USER_AGENT} googlebot

これで、(既知のすべてのボットに対して) ユーザー エージェントがさらに必要になり、ルールは別のディレクトリに対してのみ有効になるはずです。私はすでに robots.txt を持っていますが、すべてのクローラーがそれを確認するわけではありません... IP アドレスによるブロックはオプションではありません。または、他の解決策はありますか?私はパスワード保護を知っていますが、これがオプションになるかどうかを最初に尋ねなければなりません. それにもかかわらず、私はユーザー エージェントに基づく解決策を探しています。

4

3 に答える 3

18

mod_rewriteを有効にする必要があります。そのフォルダの.htaccessに配置しました。他の場所(親フォルダーなど)に配置する場合は、RewriteRuleパターンを少し変更して、そのフォルダー名を含める必要があります)。

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} (googlebot|bingbot|Baiduspider) [NC]
RewriteRule .* - [R=403,L]
  1. 私が入力したボットはごくわずかです。他のボットを自分で追加します(大文字と小文字は関係ありません)。
  2. このルールは、そのようなリクエストに対して「403AccessForbidden」結果コードで応答します。本当に必要な場合は、別の応答HTTPコードに変更できます(要件を考慮すると、ここでは403が最も適切です)。
于 2012-05-24T11:28:57.907 に答える
10

特に目的のジョブに .htaccess または mod_rewrite を使用するのはなぜrobots.txtですか? これは、特定のディレクトリ セットをブロックするために必要な robots.txt スニペットです。

User-agent: *
Disallow: /subdir1/
Disallow: /subdir2/
Disallow: /subdir3/

これにより、ディレクトリ内のすべての検索ボットがブロックされ/subdir1/、./subdir2//subdir3/

詳細については、こちらを参照してください: http://www.robotstxt.org/orig.html

于 2012-05-24T21:12:44.907 に答える
6

トピックが「古い」ことは知っていますが、ここに着陸した人も(私もそうでした)、ここで素晴らしい5gブラックリスト2013を見ることができます。
wordpressだけでなく、他のすべてのサイトにとっても非常に役立ちます。素晴らしい私見で動作します。
注目に値するもう 1 つの例としては、.htaccess を介した Linux のレビュー アンチ スパムがあります。

于 2013-11-01T07:50:54.527 に答える