Wordpress网址未返回404页面

时间:2017-01-08 18:44:15

标签: php wordpress .htaccess url seo

我在黑客攻击后需要一些WordPress的帮助。

我已经彻底清理了黑客攻击,谷歌已经删除了“此网站可能被黑客入侵”的标记。

黑客向Google提交了大量网址,其中包含每个有效网址末尾的随机字符串。这些在谷歌搜索中显示为日语链接。

列出的网址显示为:

www.example.co.uk/?WGlaVUdsVVNHUnNXVzFzY2xwVE1YbFphVGg1VFZSSmVFOVVTVFZQUjJNOWNFUT14b0g

如果点击该链接,则会显示网站正确的主页,而不是显示404页面。

如果我转到www.example.co.uk/thispagedoesnotesist,则会显示404错误。

有没有办法让这些随机网址字符串的网页显示404错误?

任何帮助或建议都会很棒。

2 个答案:

答案 0 :(得分:2)

您可以使用.htaccess中的以下mod_rewrite指令强制包含长随机查询字符串的URL到404。这需要在之前现有的WordPress指令:

RewriteCond %{QUERY_STRING} ^\w{30,}$
RewriteRule ^$ - [R=404,L]

对包含30个或更多字母/数字的查询字符串的文档根目录(主页)的请求将提供404。

但是,如果这些是URL中的日语字符(与示例中的a-z相对),则上述内容可能不匹配,请尝试以下内容:

RewriteCond %{QUERY_STRING} ^[^=]{30,}$

=以外的所有字符都匹配。

更新:要在最后匹配可选 =,您可以在上面=?之前添加$正则表达式。例如^\w{30,}=?$^[^=]{30,}=?$

如果您根本不使用查询字符串,则可以将RewriteCond指令更改为以下内容,该指令与任何查询字符串(即至少1个字符)匹配。< / p>

RewriteCond %{QUERY_STRING} .

答案 1 :(得分:1)

问题是这些链接指向带有参数的主页。这些随机的文本字符串不会作为url或页面的段传递,因为它们前面带有?

你无法做很多事情。如果我在你的位置,我只会报告这些链接,并要求他们从Google方面删除。不要为此担心。