Php Codeigniter将所有流量强制发送给特定的控制器和方法

Php Codeigniter将所有流量强制发送给特定的控制器和方法,php,codeigniter,redirect,routes,Php,Codeigniter,Redirect,Routes,我很抱歉,如果这是一个重复,但经过几个小时的搜索互联网,我起草了一个空白 我试图删除强制所有流量到一个特定的控制器和方法,这样我的url将读取一件事,但另一件事。最终的结果是这样的: https://www.domain.com/home/pages/about 将变成这样: https://www.domain.com/about 我试过使用这些路线,但没有用。别误会,我的默认设置是使用该路由,主页加载很好,但子页不遵循它,并给出404错误。 默认路线: $route['default_c

我很抱歉,如果这是一个重复,但经过几个小时的搜索互联网,我起草了一个空白

我试图删除强制所有流量到一个特定的控制器和方法,这样我的url将读取一件事,但另一件事。最终的结果是这样的:

https://www.domain.com/home/pages/about
将变成这样:

https://www.domain.com/about
我试过使用这些路线,但没有用。别误会,我的默认设置是使用该路由,主页加载很好,但子页不遵循它,并给出404错误。 默认路线:

$route['default_controller'] = 'home/pages';
我尝试过的众多变体之一:

$route['home']['pages'] = 'home/pages';

这可能通过路由实现吗?

我之所以发布这篇文章,是因为在我准备提交这篇文章的30秒前,我在另一页(codeigniter手册)上读到了一些我之前错过的东西

解决方法是添加自定义路由,如下所示:

$route['default_controller'] = 'home/pages';
$route['(:any)'] = 'home/pages';

与默认路由一起,强制所有页面使用主控制器和pages方法。它提供了漂亮的URL

如果您还想覆盖404,例如,您是DB供电系统,URL中有基本段塞:

$route['default_controller'] = 'home/pages';
$route['404_override'] = 'home/pages';
$route['(:any)'] = 'home/pages';

我认为你没有阅读和记录。你会得到很多关于如何解决这个问题的例子。这就是为什么我在下面的回答中说我最后一次重读了手册,这是有意义的,因为我已经解决了我自己的问题,所以这篇文章是为了让我能够回答它。