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


CodeIgniter: Include a controller outside the application environment

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

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

<?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页面内容更改为此内容,这样它将显示我在"error"控制器&看法

问题是,/application/errors/下的页面被CodeIgniter视为正常的PHP页面,这意味着我不能在error_404.php页面中使用$this->load-view('error');

对于在CodeIgniter中创建自定义错误页面的方法,我也很感激其他建议。

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

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

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

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