通过.htaccess配置规则批量处理恶意感染URL,使其返回404以清理Google收录
通过.htaccess配置规则批量处理恶意感染URL,使其返回404以清理Google收录
我太懂你的糟心处境了——站点被黑后冒出来一堆带?c=的恶意URL,还被Google收录了,手动一个个处理根本不现实。你之前试的RedirectMatch规则没生效,是因为它只匹配URL的路径部分(也就是?之前的内容),而c=xxx属于查询字符串,不在它的匹配范围内,所以这条规则根本不会触发。
给你一个靠谱的解决方案,用Apache的mod_rewrite模块来处理,这也是WordPress本身在用的模块,你的.htaccess里应该已经启用它了:
# 批量拦截所有带?c=开头的恶意URL,返回404 RewriteEngine On RewriteCond %{QUERY_STRING} ^c= [NC] RewriteRule ^ - [R=404,L]
规则细节说明:
RewriteCond %{QUERY_STRING} ^c= [NC]:这条条件用来匹配查询字符串以c=开头的请求,NC标记让匹配不区分大小写,以防恶意URL有大小写变种RewriteRule ^ - [R=404,L]:当上面的条件满足时,直接给这个请求返回404状态码,L标记表示这是最后一条要执行的规则,避免后续的WordPress规则干扰拦截逻辑
关键注意点:
- 一定要把这段规则放在
.htaccess文件中# BEGIN WordPress注释块的前面,因为WordPress的规则会接管后续的URL处理,放在前面才能优先触发拦截 - 保存修改后,先自己测试一下:随便访问一个类似
https://你的域名/?c=test的URL,确认浏览器返回的是404页面 - 处理完.htaccess后,你可以去Google Search Console提交这些恶意URL的移除请求,或者等待Google下次抓取时发现这些URL返回404,自动从索引中移除
备注:内容来源于stack exchange,提问作者Davide Murmora
相关产品推荐
相关产品推荐

