当URL包含某个字符串时,想要抛出404错误 - Wordpress

时间:2011-03-14 08:36:06

标签: php wordpress .htaccess

我正在管理一个wordpress博客,并且每当url包含字符串模式时都想抛出404错误(例如:如果url包含“thisisnotwanted”)。我以为我可以在htaccess文件中添加一些内容,例如:重定向“ thisisnotwanted ”404

有人可以帮忙吗?我只是不希望谷歌使用此参数索引页面。

4 个答案:

答案 0 :(得分:4)

如果您不允许Google对网页编制索引,则应将robots.txt文件添加到网站的根文件夹中。

然后你可以把这样的东西放在文件中:

User-agent: *
Disallow: /thisisnotwanted

我假设您要禁止所有搜索引擎中的网页,但如果您只想禁止Google,则应将第一行更改为User-agent: Google

您可以明确告诉Google使用Webmaster tools删除链接。 Google可能需要几天时间才能接受您的请求并从索引中删除这些网页。

有关详细信息,请访问此网站:
The Web Robots Pages

答案 1 :(得分:1)

这可以使用robots.txt获得,但是因为你在这里询问如何手动抛出404页面:

<?php
if ( preg_match('/thisisnotwanted/i',$_SERVER["REQUEST_URI"]) ) {
    header("HTTP/1.0 404 Not Found - Archive Empty");
    require TEMPLATEPATH.'/404.php';
    exit;
}
get_header();
?>

这段代码只是一个关于如何显示404页面的示例,它不应该用于“生产”,而是使用robots.txt作为Michiel Pater sugested。

答案 2 :(得分:0)

您可以在主题文件中设置条件语句,以将查看器重定向到404页面。


使用此代码:

$wp_url = $_SERVER["REQUEST_URI"] //from poelinca
if(preg_match('/thisisnotwanted/',$wp_url)) header('location:/404page');

答案 3 :(得分:0)

使用mod_rewrite,它就像

RewriteEngine on
RewriteCond %{THE_REQUEST} thisisnotwanted[\ /?].*HTTP/
RewriteRule ^.*$ - [R=404,L]

在.htaccess