最近我的网站被黑客入侵,现在 Google 中大约有 20000 个索引链接,这些链接通过我的网站重定向到其他网站。现在我已停止所有重定向,但我的主机上有太多请求。Google 中的所有索引链接都如下所示:
example.com/?mode=list1124413.html
example.com/?mode=grid125761916.html
我想阻止所有以 开头的请求?mode
,但我不知道为什么我尝试过的这些配置不起作用:
RewriteCond %{QUERY_STRING} ".*(?:^|&)mode=(?:=|&|$)"
RewriteRule "" "-" [F]
RedirectMatch 404 ^?mode/\d+$
RedirectMatch 404 ^mode\d+$
答案1
无法匹配查询字符串和mod_alias:
mod_alias旨在处理简单的 URL 操作任务。对于更复杂的任务(例如操作查询字符串),请使用mod_rewrite。
工作配置mod_rewrite:
RewriteEngine On
RewriteCond %{QUERY_STRING} "(^|&)mode="
RewriteRule "" "-" [F]