You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在htaccess中配置规则拦截所有爬虫仅放行指定Semrush系列爬虫

你给出的调整方案完全正确,可以实现「拦截所有带bot、crawl、spider标识的爬虫,仅放行你指定的三款Semrush相关爬虫」的需求。

规则逻辑说明

原来的拦截规则是命中爬虫UA特征就直接返回503,你新增的规则是做白名单校验:

  • RewriteCond %{HTTP_USER_AGENT} !(SemrushBot-BA|SiteAuditBot|SemrushBot-SI) [NC] 这条规则是反向匹配,只有当UA不属于你列出的三个白名单爬虫时,才会继续执行后续的拦截逻辑
  • 末尾的[NC]标识代表忽略大小写匹配,哪怕爬虫UA出现大小写拼写差异也不会误拦截,配置非常合理
  • 保留的robots.txt排除规则也没有问题,不会影响合法爬虫读取站点的爬取规则

后续如果需要新增其他白名单爬虫,直接在括号内用竖线|分隔补充对应UA字符串即可,无需修改其他配置。

调整后的最终可直接使用的配置如下:

ErrorDocument 503 "Sitio inhabilitado temporalmente para el rastreo"
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^.*(bot|crawl|spider).*$ [NC]
RewriteCond %{HTTP_USER_AGENT} !(SemrushBot-BA|SiteAuditBot|SemrushBot-SI) [NC]
RewriteCond %{REQUEST_URI} !^/robots\.txt$
RewriteRule .* - [R=503,L]

内容的提问来源于stack exchange,提问作者Jonathan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 11:57:00