如果查询字符串包含任何内容,则重定向到404

时间:2012-11-13 10:59:48

标签: .htaccess mod-rewrite redirect query-string

尽管广泛搜索我似乎无法找到答案,所以如果之前有人问过这件事,我很抱歉,我只是错过了。

我的网站只有静态URI,所有SEO友好,在.htaccess文件中硬编码。不幸的是,我们看到很多其他网站链接到我们的查询字符串搜索令人讨厌的东西。这会损害我们的搜索排名,我们希望通过查询字符串返回404。

我尝试过以下变化,但没有成功:

RewriteCond %{QUERY_STRING} .
RewriteRule ^404.php/? [R,L]

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

RewriteEngine on
RewriteCond %{QUERY_STRING} .
RewriteRule (.*) /404.php? [R,L]

这应该达到你想要的目的。

答案 1 :(得分:0)

上面的答案是

RewriteEngine on
RewriteCond %{QUERY_STRING} .
RewriteRule (.*) /404.php? [R,L]

不会向搜索引擎返回404.它只显示404页面。使用下面的行来完成目标

RewriteEngine on
RewriteCond %{QUERY_STRING} .
RewriteRule (.*) /404.php? [L,R=404]

请记住,即使这将消除谷歌索引的垃圾链接,它也将限制wp-admin和搜索功能。