CodeIgniter:在应用程序环境之外包含一个控制器

时间:2015-03-20 22:29:43

标签: php codeigniter model-view-controller

基本上,我想在CodeIgniter环境之外加载CodeIgniter控制器内容,即从传统的PHP页面加载。

我尝试了以下但不符合我的要求:

<?php
require('/application/controller/error?type=not_found');
?>

它出现以下错误:

Message: require(/application/controller/error?type=not_found): failed to open stream: No such file or directory

为了澄清,我正在尝试将默认的/application/errors/error_404.php页面内容更改为此,以便显示我在“错误”控制器中构建的自定义HTTP 404错误页面。图。

问题是,CodeIgniter将/ application / errors /下的页面视为普通的PHP页面,这意味着我无法在$this->load-view('error');页面中使用error_404.php

我还希望了解有关在CodeIgniter中创建自定义错误页面的其他建议。

1 个答案:

答案 0 :(得分:0)

您应该在application / config文件夹的route.php页面中设置404页面:

 $route['404_override'] = 'your-error-controller/your-error-view';

如果URL中提供的URI无法与有效路由匹配,此路由将告诉路由器使用哪些URI段。

我可能会对您的问题感到困惑,但routes.php为您提供了一个可以将404页面指向自定义视图的位置。