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

如何通过.htaccess为Google站长工具中不存在的奇怪URL返回410状态码

如何通过.htaccess将这类异常404 URL返回410状态码?

嘿,这种乱拼出来的垃圾URL确实够闹心的——明显是恶意扫描器或者瞎爬的爬虫捣的鬼。要把这些压根不存在的URL直接返回410(永久删除)状态码(比404更明确地告诉搜索引擎“这玩意儿永远不会存在”),咱们用Apache的mod_rewrite在.htaccess里写几条规则就能搞定。

先分析目标URL的特征

从你给出的例子来看,这些异常URL都包含几个重复出现的“垃圾关键词”:

  • 第三方域名:plus.google.com、facebook.com(被当成子目录滥用了)
  • 恶意/不存在的页面:password-reset.hmlt(注意还有拼写错误的hmlt)、register.html
    而且这些词都是以子目录的形式拼接在路径里的。

方案1:基础拦截(快速生效)

直接匹配路径中包含这些关键词的URL,返回410。把下面的代码加到你的.htaccess文件顶部:

# 开启URL重写引擎
RewriteEngine On

# 拦截包含第三方域名或恶意页面关键词的异常URL
RewriteRule (plus\.google\.com|facebook\.com|password-reset\.hmlt|register\.html) - [R=410,L]

规则解释:

  • RewriteEngine On:必须开启这个才能让重写规则生效
  • 第一个括号里是正则匹配的关键词组,用|分隔,.要转义成\.(因为正则里.代表任意字符)
  • -表示不跳转到其他URL,直接返回状态码
  • [R=410,L]:R=410指定返回410状态码,L表示这条规则匹配后就停止处理后续规则,避免冲突

方案2:更严格的匹配(避免误杀)

如果你的正常网站里可能出现这些关键词(比如某个页面的参数里带了facebook.com),可以把规则改得更严格,只匹配这些关键词作为完整子目录的情况:

RewriteEngine On

# 仅匹配关键词作为完整目录段的情况(被斜杠包裹)
RewriteRule /(plus\.google\.com|facebook\.com|password-reset\.hmlt|register\.html)/ - [R=410,L]

这个规则只会拦截像/plus.google.com/、/password-reset.hmlt/这种被斜杠前后包裹的目录,不会误杀正常的URL。

注意事项

  1. 确保你的Apache服务器已经启用了mod_rewrite模块,如果没开的话需要联系主机商或者自己在服务器配置里开启
  2. 测试的时候可以先把R=410改成R=302(临时重定向),验证规则是否正确匹配了目标URL,确认没问题再改回410
  3. 如果后续出现新的垃圾关键词,直接把它们加到正则的关键词组里就行
  4. 410状态码会让搜索引擎更快地从索引中移除这些无效URL,比404的清理效率更高

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:29:08