重定向垃圾邮件查询字符串url后创建的黑客



我的一个网站被黑了,之后出现了成千上万的网址。

我想编辑我的htaccess,这样所有的url都有/?X =被重定向到没有查询字符串的页面。

该网站是一个新闻网站,所以不能用查询字符串重定向所有url,否则网站将停止正常工作。

基本上我需要:

www.example.com/?x=spamurl

重定向到

www.example.com

和任何包含?x=

的深页
www.example.com/category/?x=spamurl

重定向到

www.example.com/category/

这是我当前的html

   # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    RewriteCond %{QUERY_STRING} x=
    RewriteRule ^$ http://www.example.com/? [R=301,L]
    </IfModule>
    # END WordPress

正如你所看到的,我已经设法得到任何url与?x=后的主url重定向到主页,但我不知道如何做到这一点时?x=显示后类别页面等。

是否有代码可以重定向包含?x=的所有url到404页面,而不会导致wordpress文件的问题?

多谢斯科特

你需要将你的重定向规则移动到之前的你的wordpress规则。您还需要匹配任何传入的URI:

RewriteCond %{QUERY_STRING} ^(.*)(^|&)x=[^&]+(.*)$
RewriteRule ^(.*)$ /$1?%1%3 [R=301,L]
# BEGIN WordPress
etc...

这将只删除 x=something参数,如果您在之前或之后有其他参数,则保留它们。

最新更新