我正在尝试阻止所有机器人/爬虫/蜘蛛的特殊目录。我怎么能用htaccess
做到这一点?我搜索了一下,根据用户代理阻止了一个解决方案:
RewriteCond %{HTTP_USER_AGENT} googlebot
现在我需要更多用户代理(对于所有已知的机器人),该规则应仅对我的单独目录有效。我已经有了robots.txt,但并非所有抓取工具都会看到它...阻止IP地址不是一种选择。还是有其他解决方案吗?我知道密码保护但我必须首先询问这是否是一个选项。然而,我寻找基于用户代理的解决方案。
答案 0 :(得分:18)
您需要启用mod_rewrite。将它放在该文件夹中的.htaccess中。如果放在别处(例如父文件夹),则需要稍微修改RewriteRule模式以包含该文件夹名称。)
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (googlebot|bingbot|Baiduspider) [NC]
RewriteRule .* - [R=403,L]
答案 1 :(得分: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
答案 2 :(得分:5)
我知道主题是“老”但仍然,对于那些降落在这里的人(我也这样做过),
你可以看看great 5g blacklist 2013
这是一个很好的帮助,不仅适用于wordpress,也适用于所有其他网站。工作真棒imho。
另一个值得关注的问题可能是Linux reviews anti spam through .htaccess