如何通过htaccess拦截谷歌必应爬虫访问WordPress搜索URL?
正确.htaccess规则
直接替换你现有.htaccess文件中# BEGIN Search Form Protection到# End Search Form Protection之间的内容即可:
# BEGIN Search Form Protection RewriteEngine On # 匹配Googlebot和Bingbot,不区分大小写 RewriteCond %{HTTP_USER_AGENT} (googlebot|bingbot) [NC] # 匹配任意位置带s=参数的请求,或路径以/search/开头的请求 RewriteCond %{QUERY_STRING} (^|&)s= [OR] RewriteCond %{REQUEST_URI} ^/search/ # 返回403禁止访问 RewriteRule ^ - [F,L] # End Search Form Protection
规则说明
- 原有规则的问题在于仅匹配
s=出现在查询字符串最开头的场景,遇到s=作为第二个及以后参数的请求会失效,优化后的(^|&)s=可以覆盖所有带s=参数的请求 - 新增的
L标记确保匹配到该规则后直接终止后续重写逻辑,避免和下方WP Rocket、多语言插件、WordPress默认重写规则产生冲突 - 仅拦截指定爬虫对搜索路径的访问,不影响两类爬虫对站点其他所有页面的正常抓取
内容的提问来源于stack exchange,提问作者George F.
相关产品推荐
相关产品推荐

