如果页面中有错误,请重定向到自定义错误页面

时间:2014-05-31 13:36:08

标签: php jsp custom-error-pages

我是PHP网络开发的新手。我想知道,如果页面上有错误,PHP中是否有任何代码将我重定向到一个页面(让它命名为“myerrorpage.php”)?

JSP中可以使用以下代码

<%@ page errorPage="myerrorpage.jsp" %>

我想知道PHP中是否有以上JSP类型的代码?是的,请帮助

感谢任何帮助...

4 个答案:

答案 0 :(得分:3)

在php中,当代码中出现错误时,您不会重定向,只需捕获该错误,然后执行您认为必要的任何操作。

为了捕获代码中的错误,您必须使用set_error_handler定义自定义错误处理程序。

您还可以使用set_exception_handler来处理未捕获的异常。

当PHP代码出错时,以下代码将重定向到yourerrorpage.php

<?php
function error_found(){
  header("Location: yourerrorpage.php");
}
set_error_handler('error_found');
?>

请注意,内容输出开始后header("Location: page.php");重定向类型无效。


或者,您可能想尝试Apache custom error responses

答案 1 :(得分:1)

您可以使用网站根目录中的.htaccess.Create .htaccess文件处理php中的错误并将以下内容添加到文件中

ErrorDocument 400 /400.html

ErrorDocument 401 /401.html

ErrorDocument 403 /403.html

ErrorDocument 404 /404.html

ErrorDocument 500 /500.html

ErrorDocument 502 /502.html

ErrorDocument 504 /504.html

现在将所有页面400.html,401.html等页面创建到您网站的根目录中。当发生错误时,用户将重定向到页面。

谢谢

答案 2 :(得分:0)

您始终可以使用新位置发送新标头,如:

header('Location: myerrorpage.php');

请确保在调用header()之前不输出任何内容,因为它不起作用。 然后你只需要检查是否发生错误,然后适当地调用header()。

答案 3 :(得分:0)

很简单..
您只需要通过配置位于 xampp / apache / conf / httpd.conf

中的 httpd.conf 文件来启用。
  1. 搜索&lt; Directory“C:/ xampp / htdocs”&gt;
  2. 在该部分下,查找 #AllowOverride All
  3. 只需删除“#”即表示评论,您已准备好采取进一步措施。
  4. 您需要做的下一件事是在根目录上创建名为“ .htaccess ”的文件。

    1. 确保它只是 .htaccess
    2. 使用您喜欢的文本编辑器(Sublime,Atom,Notepad ++等)进行编辑
    3. 编写代码....
    4. ErrorDocument 404 YourDirectory/error page
      

      例如

      ErrorDocument 404 http://localhost/project/error.php