如何在使用Codeigniter配置路由时检查Controller是否已存在?

时间:2012-03-28 06:25:49

标签: php codeigniter content-management-system routes

在我的网站上,我正在从数据库中动态加载内容,如此

e.g mysite.com/about-us   

为此,数据库中有一个enrtry,因此它将加载关于' about-us' &安培;使用" page"打印它仅限控制器。

对于我所做的是,我在routes.php中添加了以下配置

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

但是,如果我已经拥有名为&#34的控制器,那么我们就说#34;我想加载那个&不是数据库中的那个,我该怎么做?

2 个答案:

答案 0 :(得分:2)

一个流畅的解决方案是使用error / missing_page控制器并将其指向config/routes.php

然后它将首先自动选择所有现有的控制器,然后是该控制器。

如果您在数据库中找不到记录,也可以致电show_404()

这使您可以创建新的控制器,而无需将所有控制器都指向路径文件。

Read about 404 override here

答案 1 :(得分:0)

你需要添加这个

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

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

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