我试图通过像htaccess这样阻止它们来填充一些机器人
#UniversalRules
SetEnvIfNoCase User-Agent ^$ bad_bot #leave this for blank user-agents
SetEnvIfNoCase User-Agent .*\@.* bad_bot
SetEnvIfNoCase User-Agent .*bot.* bad_bot
但是这个规则也阻止了好机器人,所以我在下面添加了
#Goodbots
SetEnvIfNoCase User-Agent .*google.* good_bot
SetEnvIfNoCase User-Agent .*bingbot.* good_bot #bing
最后是阻止规则 -
Order Allow,Deny
Allow from all
Deny from env=bad_bot
但是当我使用GoogleBot useragent(Googlebot / 2.1(+ http://www.googlebot.com/bot.html)时,我得到了 - 403被禁止。
怎么了?
答案 0 :(得分:1)
GoogleBot 设置两个环境变量;设置变量(bad_bot
)不会取消设置其他变量(#UniversalRules
SetEnvIfNoCase User-Agent ^$ bad_bot
SetEnvIfNoCase User-Agent .*\@.* bad_bot
SetEnvIfNoCase User-Agent .*bot.* bad_bot
#Goodbots
SetEnvIfNoCase User-Agent .*google.* !bad_bot
SetEnvIfNoCase User-Agent .*bingbot.* !bad_bot
)。您可以设置一个变量并在之后取消设置:
BrowserMatchNoCase
有关示例,请参阅mod_setenvif参考。 .*
使用较短的语法提供相同的功能。您可以删除正则表达式中的所有{{1}}。