Você pode usar o mod_rewrite, que requer um pouco de esforço. Aqui estão alguns pontos de partida:
Observe, em particular, a seção "Bloqueio de robôs": link
Veja também: link
Quando eu estava usando o Lighttpd, posso facilmente conseguir isso por meio dessas entradas. Então, todos os sites foram protegidos.
Wget robots:
$HTTP["useragent"] =~ "Wget" {
$HTTP["url"] =~ "^/tagi(.*)" {
# $HTTP["url"] =~ "" {
url.access-deny = ( "" )
}
$HTTP["url"] =~ "^/tags(.*)" {
url.access-deny = ( "" )
}
$HTTP["url"] =~ "^/kom.php(.*)" {
url.access-deny = ( "" )
}
$HTTP["querystring"] =~ "^(.*)strony(.*)" {
url.access-deny = ( "" )
}
$HTTP["querystring"] =~ "^(.*)page(.*)" {
url.access-deny = ( "" )
}
$HTTP["url"] =~ "^(.*)/www/delivery/lg.php(.*)" {
url.access-deny = ( "" )
}
$HTTP["url"] =~ "^(.*)/reklamy/(.*)" {
url.access-deny = ( "" )
}
$HTTP["url"] =~ "^(.*)/ads/(.*)" {
url.access-deny = ( "" )
}
$HTTP["url"] =~ "^(.*)/www/delivery/ck.php(.*)" {
url.access-deny = ( "" )
}
}
Sites com tráfego falso:
$HTTP["referer"] =~ "(.*)surfing.php(.*)" {
url.access-deny = ( "" )
}
$HTTP["referer"] =~ "(.*)promote.php(.*)" {
url.access-deny = ( "" )
}
$HTTP["referer"] =~ "(.*)trafficadder.php(.*)" {
url.access-deny = ( "" )
}
$HTTP["referer"] =~ "(.*)traffic.php(.*)" {
url.access-deny = ( "" )
}
$HTTP["referer"] =~ ".*loic*." {
url.access-deny = ( "" )
}
$HTTP["referer"] =~ ".*autosurf*." {
url.access-deny = ( "" )
}
Como fazer o mesmo no Apache? Eu não quero adicionar isso ao .htaccess.
Tags wget apache-2.2 rewrite httpd