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

CodeIgniter: Include a controller outside the application environment

基本上,我想在 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 页面内容更改为此,以便它显示我在 [=26] 中构建的自定义 HTTP 404 错误页面=] 控制器和视图。

问题是,/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 页面指向自定义视图的位置。