You need to enable JavaScript to run this app. 如何配置Apache RewriteCond正确屏蔽带单引号的Seekport Crawler
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Apache RewriteCond正确屏蔽带单引号的Seekport Crawler

故障根源
  • 逻辑衔接错误:Apache重写规则的RewriteCond默认用「且」逻辑连接,只有在末尾加[OR]才会转为「或」逻辑。你现有规则的最后一条常规Seekport匹配项没有加[OR],如果直接在后面追加新的带单引号UA匹配规则,会被判定为需要同时满足「常规Seekport UA」和「带单引号的Seekport UA」两个完全互斥的条件才触发拦截,根本不可能匹配到实际访问请求,这是规则不生效的核心原因。
  • 匹配逻辑的认知偏差:你提到的单引号在Apache重写规则中不属于特殊字符,不需要转义。规则中的双引号仅作为字符串包裹符(避免内容里的空格被拆分为规则参数),本身不属于匹配内容,只要保证要匹配的单引号是作为内容写在双引号包裹的区间内即可,不存在引号匹配错误的问题。
可行配置方案

方案1:兼容现有规则的精准匹配方案

如果要保留现有精确匹配其他UA的逻辑,只需要修正规则逻辑衔接,新增对应匹配项即可:

RewriteEngine On
# 原有OnalyticaBot规则保留
RewriteCond %{HTTP_USER_AGENT} OnalyticaBot [NC,OR]
# 原有Re-re Studio规则保留
RewriteCond %{HTTP_USER_AGENT} "=Re-re Studio (+http://vip0.ru/)" [NC,OR]
# 原有常规Seekport规则末尾追加OR,和下一条带单引号的规则做或逻辑
RewriteCond %{HTTP_USER_AGENT} "=Mozilla/5.0 (compatible; Seekport Crawler; http://seekport.com/" [NC,OR]
# 新增带前后单引号的Seekport UA精确匹配规则
RewriteCond %{HTTP_USER_AGENT} "='Mozilla/5.0 (compatible; Seekport Crawler; http://seekport.com/'" [NC]
# 以上任意一个条件满足就返回403拦截
RewriteRule ^ - [F]

方案2:全量拦截Seekport Crawler省心方案

因为你的需求是完全拦截所有Seekport Crawler,不需要区分UA的前后缀变体,直接匹配UA中包含Seekport Crawler关键字即可,后续就算Seekport调整UA格式也能正常拦截,不需要反复更新规则:

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} OnalyticaBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "=Re-re Studio (+http://vip0.ru/)" [NC,OR]
# 直接匹配UA中任意位置包含Seekport Crawler的内容,忽略大小写
RewriteCond %{HTTP_USER_AGENT} "Seekport Crawler" [NC]
RewriteRule ^ - [F]

补充说明:这个写法默认是部分匹配,只要UA中出现对应字符串就会触发,不需要加其他锚定符,比精确匹配的适配性更强。

内容的提问来源于stack exchange,提问作者Ral AMORES GONZLEZ

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.30 21:06:09