当已经使用Codeigniter配置路由时,如何检查控制器是否已经存在


How to check if Controller already exists when already configured route using Codeigniter?

在我的网站上,我正在像一样从数据库动态加载内容

e.g mysite.com/about-us   

为此,数据库中存在愤怒,因此它将加载"关于我们"的内容&仅使用"页面"控制器打印。

为此,我在routes.php中添加了以下配置

$route[':any'] = "page";

但假设我已经有一个名为"aboutus"的控制器,并且我想加载它&不是数据库中的那个,我该怎么做?

平滑的解决方案是使用error/missing_page控制器并将其指向config/routes.php

然后它会自动选择所有现有的控制器,然后是那个控制器。

如果在数据库中找不到记录,也可以调用show_404()

这允许您创建新的控制器,而不必将所有控制器都指向管线文件中。

在此处阅读有关404覆盖的信息

您需要添加此

$route['about-us'] = "aboutus";
$route['about-us/(:any)'] = "aboutus/$1";

之前

$route[':any'] = "page";

由于CI路由不是贪婪的,它在找到about-us控制器后不会检查页面控制器。