从Single.php重定向至404.php

时间:2012-07-25 作者:webmasters

我有一种情况,我想重定向用户从单一。php到我的404。php

我该怎么做?

我在单曲里就是这样做的。php

header("HTTP/1.0 404 Not Found");
header("Location: ".bloginfo(\'template_url\')."/404.php");
exit();

But when I check the http responses I get a 302 response instead of the 404

Important: it may not work because I have a post called "cars" which I use to custom generate pages like:

http://www.mysite.com/cars/bwm
http://www.mysite.com/cars/crysler
帖子只是:

http://www.mysite.com/cars/
其余的只是使用add\\u rewrite\\u规则重写的php查询字符串。所以

http://www.mysite.com/cars/?bmw
被重写为:

http://www.mysite.com/cars/bmw
有时变量bmw不在我的数据库中,我希望这个页面得到404响应。

1 个回复
最合适的回答,由SO网友:Brian Fegter 整理而成

尝试以下操作:

header("HTTP/1.0 404 Not Found");
$wp_query->set_404(); //This will inform WordPress you have a 404 - not absolutely necessary here, but for reference only.
require \'/path/to/404.php\';
exit;
只需对页面本身进行错误处理,而不是将其重定向到另一个模板。这将维护404标题,并在父模板中为您提供完全的控制权。

结束

相关推荐

Redirect Site Geologically

我正在使用WordPress mu,需要根据用户的地理位置重定向我的网站。例如,如果你从美国进入雅虎,它将进入雅虎。com,但如果你从印度访问该网站,它将进入。雅虎。com或在英国到英国。雅虎。com等。有没有办法让我的WordPress这样做?