【问题标题】:Redirect to custom error page if there is error in the page如果页面中有错误,则重定向到自定义错误页面
【发布时间】:2014-05-31 13:36:07
【问题描述】:

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

JSP 中可以使用以下代码

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

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

感谢任何帮助...

【问题讨论】:

    标签: php jsp custom-error-pages


    【解决方案1】:

    在 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

    【讨论】:

      【解决方案2】:

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

      错误文档 400 /400.html

      错误文档 401 /401.html

      错误文档 403 /403.html

      错误文档 404 /404.html

      错误文档 500 /500.html

      错误文档 502 /502.html

      错误文档 504 /504.html

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

      谢谢

      【讨论】:

      • 这也是一个不错的选择,但我得到了我的答案,这是一个 PHP 代码.. 感谢您的贡献 +1 :)
      【解决方案3】:

      您可以随时发送带有新位置的新标头,例如:

      header('Location: myerrorpage.php');
      

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

      【讨论】:

      • 这段代码只是将我重定向到某个页面。但是有人如何检查页面中是否有任何错误?
      【解决方案4】:

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

      中的 httpd.conf 文件来启用
      1. 搜索
      2. 在该部分下,查找 #AllowOverride All
      3. 只需删除表示注释的“#”,您就可以进行下一步了。

      接下来您需要在根目录中创建一个名为“.htaccess”的文件。

      1. 确保它只是 .htaccess
      2. 使用您喜欢的文本编辑器(Sublime、Atom、Notepad++ 等)进行编辑
      3. 写代码....

      .

      ErrorDocument 404 YourDirectory/error page
      

      例如。

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

      【讨论】:

        猜你喜欢
        • 2017-10-27
        • 1970-01-01
        • 1970-01-01
        • 2014-07-23
        • 2022-10-12
        • 1970-01-01
        • 1970-01-01
        • 2018-04-18
        • 1970-01-01
        相关资源
        最近更新 更多