我想阻止Crawler抓取子域tools.subdomain.com
我在互联网上找到了一个片段,其中显示了重写规则:
RewriteCond %{HTTP_USER_AGENT} (googlebot|bingbot|Baiduspider) [NC]
RewriteRule .* - [R=403,L]
如何设法在此子域上阻止这些Crawler,或者只允许当前最新的浏览器访问子域?我想通过.htaccess进行管理,因为并非所有抓取工具都接受robots.txt。对于robots.txt,我有以下重写条件。
RewriteCond %{HTTP_HOST} =testing.subdomain.com
RewriteRule ^robots\.txt$ /robots_testing.txt [L]
干杯
Sven
答案 0 :(得分:3)
这取决于您的服务器布局。
隔离子域名
如果子域有自己的文档根,那么它就足以将.htaccess文件放在子域的文档根目录中,并编写你在htaccess文件中指定的指令:
RewriteCond %{HTTP_USER_AGENT} (googlebot|bingbot|Baiduspider) [NC]
RewriteRule .* - [R=403,L]
共享子域
如果子域名使用与顶级域名相同的文档根目录,则可以在上面添加RewriteCond
:
RewriteCond %{HTTP_HOST} ^tools\.subdomain\.com$
RewriteCond %{HTTP_USER_AGENT} (googlebot|bingbot|Baiduspider) [NC]
RewriteRule .* - [R=403,L]
请注意(1):需要语法^tools\.subdomain\.com$
才能完全匹配主机的整个名称;此外,由于它是正则表达式,因此必须用反斜杠转义点。
请注意(2):最后RewriteCond
的语法可能会根据您要排除的机器人而有所不同。