重定向到我的custom404错误页面php

时间:2013-04-24 15:44:24

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

我的根目录中有自定义404错误页面。

我也编辑了我的.httaccess文件。

现在我想重定向到我的自定义404页面,如果我的页面中某些条件失败。

例如$ _SESSION [log] == 1失败。 所以我的问题是

1.我应该在php中使用什么代码?

2.如何制作其他类型的错误,如401和许多其他类型的错误?

在我的.httaccess页面中,我有这些行

ErrorDocument 404 http://mydomain.com/404custom.php

我有一个404custom.php专为我的需求而设计。简单的HTML页面......

2 个答案:

答案 0 :(得分:2)

在错误情况下不要发送位置标头。请改为发送正确的状态代码。您必须根据http规范发送正确的状态代码。

header("HTTP/1.0 404 Not Found");

为了显示正确的自定义网站,您已经在.htaccess文件中使用了ErrorDocument语句。

特别是对于403未经授权的错误发送正确的状态代码很重要,因此浏览器可以做出准确的反应。

答案 1 :(得分:1)

1-要重定向您的用户,您可以使用:

<?php
   header('Location: http://www.example.com/404.html');
?>

但在使用header()echo之前,您不得发送任何数据,甚至不能留空格。

2-其他错误:

ErrorDocument 400 /var/www/errors/index.html
ErrorDocument 401 /var/www/errors/index.html
ErrorDocument 403 /var/www/errors/index.html
ErrorDocument 404 /var/www/errors/index.html
ErrorDocument 500 /var/www/errors/index.html