CodeIgniter路由具有相同的名称

时间:2014-12-07 09:04:12

标签: php codeigniter url routing

我有两个不同的控制器,我想要路由到同一个URL

例如,

$route['dashboard/(:any)'] = 'admin/crud/$1';
$route['dashboard/(:any)'] = 'admin/dashboard/$1';

但这导致404错误。

我想:any通配符存在一些问题。

有替代品可供使用吗?

1 个答案:

答案 0 :(得分:0)

CodeIgniter没有将控制器映射到URL,它将URL映射到控制器。请参阅 URI Routing

您正尝试将两个相同的网址映射到不同的地方。这没有意义。

此外,由于$route只是一个关联数组,因此您将覆盖该值而不是添加其他路径。

$route['dashboard/(:any)'] = 'admin/crud/$1';
$route['dashboard/(:any)'] = 'admin/dashboard/$1'; //Immediately over writes the previous value

所以,看起来你只是遇到了第二条路线的问题:

$route['dashboard/(:any)'] = 'admin/dashboard/$1';

因为admin是文件夹,请仔细检查路由传入的值实际上是dashboard控制器类中的方法。

另外,请查看此问题并接受答案:routing controllers in sub folders - codeigniter我认为它提供了您尝试执行的操作的示例。

相关问题