在PHP中404错误后重定向到首页

时间:2010-05-13 15:30:23

标签: php error-handling http-status-code-404

我有一个php网页,现在在找不到页面时会使用自定义错误页面。自定义错误页面包含在PHP中。

因此,当有人输入不存在的URL时,我只包含一个错误页面,错误页面以:

开头
<?php header("HTTP/1.1 404 Not> Found"); ?>

这也告诉抓取工具页面不存在。

现在我已经建立了一个新系统。当用户键入错误的URL时,将用户发送回首页并在首页上显示消息。我像这样重定向到首页:

header('Location:' . __TINY_URL . '/');

现在问题是PHP只发回了200个代码,找到了页面。

如何将这两者混合在首页上创建404代码。

这是一个很好的呈现方式和错误页面。

3 个答案:

答案 0 :(得分:2)

它为您提供了200个代码,因为您正在重定向到返回200代码的页面。我之前完成此操作的方式是发送404标头然后加载404视图。

header("HTTP/1.0 404 Not Found");
include("four_o_four.php");

答案 1 :(得分:1)

错误后重定向不是一个好主意。对于喜欢输入/编辑网址的用户来说,这尤其令人讨厌,因为如果您输入错字,您将被重定向到某个任意页面,并且必须重新开始。

我建议你根本不要这样做。如果你愿意,你可以让你的错误页面看起来像你的头版,虽然我认为这有点令人困惑。

答案 2 :(得分:0)

您可以将其添加到您的htaccess

ErrorDocument 404 http://www.yourdomain.com/404.php

ErrorDocument 404 http://www.yourdomain.com/index.php #Your homepage

这将发送intials 404标题