我正在尝试阻止特定目录的所有机器人/爬虫/蜘蛛。我怎样才能用
htaccess
做到这一点?我搜索了一下,找到了基于用户代理阻塞的解决方案:
RewriteCond %{HTTP_USER_AGENT} googlebot
现在我需要更多的用户代理(对于所有已知的机器人),并且该规则应该仅对我的单独目录有效。我已经有一个 robots.txt,但并不是所有的爬虫都会看它......通过 IP 地址阻止不是一个选项。或者还有其他解决方案吗?我知道密码保护,但我必须先询问这是否是一个选项。尽管如此,我还是在寻找基于用户代理的解决方案。
您需要启用 mod_rewrite。将其放在该文件夹中的 .htaccess 中。如果放置在其他地方(例如父文件夹),则需要稍微修改 RewriteRule 模式以包含该文件夹名称)。
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (googlebot|bingbot|Baiduspider) [NC]
RewriteRule .* - [R=403,L]
为什么要使用 .htaccess 或 mod_rewrite 来完成专门用于
robots.txt
的作业?这是您需要阻止一组特定目录的 robots.txt 片段。
User-agent: *
Disallow: /subdir1/
Disallow: /subdir2/
Disallow: /subdir3/
这将阻止目录
/subdir1/
、/subdir2/
和 /subdir3/
中的所有搜索机器人。
更多解释请参见这里:http://www.robotstxt.org/orig.html
我知道这个话题很“老”,但对于也来到这里的人来说(就像我也一样),
你可以看这里很棒的5G黑名单2013。
这不仅对 wordpress 而且对所有其他网站都有很大的帮助和帮助。恕我直言,效果棒极了。
另一个值得关注的可能是 Linux 通过 .htaccess 评论反垃圾邮件(最后一个功能存档链接)。