如何使用Htaccess将带有查询字符串的URL发送到404页面? (1个帖子)

时间:2013-01-25 20:21:01

标签: string wordpress .htaccess http-status-code-404

使用:Wordpress 编辑:.htaccess

是否可以使用.htaccess将具有特定查询字符串(垃圾邮件)的网址发送到默认的WordPress 404页面?

我目前使用以下代码将这些参数301重定向到.htaccess中的原始页面。

RewriteEngine On

RewriteCond %{QUERY_STRING} (^|&)spamword1 [NC,OR]
RewriteCond %{QUERY_STRING} (^|&)spamword2 [NC,OR]
RewriteCond %{QUERY_STRING} (^|&)spamword3 [NC]

RewriteRule (.*) /$1? [R=301,L]

例如:

http://www.mysite.com/page/3/?spam 301到http://www.mysite.com/page/3/

但有没有办法404这些页面而不是301重定向它们?如果我使用301重定向,Google似乎认为它们是软404。

每个人总是建议404页面用于技术上不存在的网址。

我试过了:

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

它将页面发送到默认的Wordpress 404 URL(这很好),但服务器响应为“302 found”,我知道这是不正确的。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

此帖子有更多信息 - Redirect to Apache built-in 404 page with mod_rewrite?

基本上你需要添加 -

<?php
header( "HTTP/1.1 404 Not Found" );
exit;
?>
标题中的

并将其解析为404.