php - 如何使用 Codeigniter 在自定义 404 页面中重定向 404 错误?

标签 php codeigniter

亲切的先生们, 我正在使用 Codeigniter 来构建博客。我可能需要一种将 404 错误重定向到自定义 404 页面的方法。就像 Abduzeedo.com 的 404 页面一样。是否可以通过使用路由来控制它?或者我应该使用 Controller 将其定向到另一个 View ?非常感谢!

最佳答案

我还使用了另一种方法:重写 Codeigniter 的 Exception 核心类。首先确保您的配置文件(system/application/config/config.php)子类前缀如下 $config['subclass_prefix'] = 'MY_';

然后在系统/应用程序/库中创建一个名为 MY_Exceptions.php 的文件。然后在这里重写函数show_404()函数如下。

class MY_Exceptions extends CI_Exceptions{
    function MY_Exceptions(){
        parent::CI_Exceptions();
    }

    function show_404($page=''){    

        $this->config =& get_config();
        $base_url = $this->config['base_url'];

        $_SESSION['error_message'] = 'Error message';
        header("location: ".$base_url.'error.html');
        exit;
    }
}

现在错误 Controller 将成为您的错误页面,页面将被重定向到 404 错误。

关于php - 如何使用 Codeigniter 在自定义 404 页面中重定向 404 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2310061/

相关文章:

php - 从 php 中的其他查询检索数据

mysql - 仅获取数据库的个人记录而不是所有记录

php - 性能批量插入或切片多批量插入的最佳选择是什么?

php - 如何在 codeIgniter (mysql) 中按 'name + 0' 排序

javascript - 来自 codeigniter Controller 的值,用于查看 javascript 变量并将其显示为数组

php - 使用 MySQL 随机选择行

php - 在表中查看mysql数据库查询到的数据

php - Symfony 在生产中禁用 Controller 操作

php - Zend Framework 2 表单注释在没有额外空间的情况下被忽略

php - 我可以使用 jQuery 将代码添加到 php 文档吗?