使用Codeigniter自动化路线

时间:2013-01-21 21:03:53

标签: php codeigniter routes

我将CI作为一个模块集成到另一个脚本中,我需要配置和设置路由才能正常工作,但是从这个父脚本中重写mod等等。

基本上,启动父脚本将所有带有m/MODULE_NAME的URL路由到模块文件夹。 在这个模块文件夹里面,我有CI接管并处理发送给它的请求。

当我查看请求的所有细分时:http://www.example.com/folder/m/memberships

CI会打印出这样的片段:

array( [0] => 'folder', [1] => 'm', [2] => 'memberships' )

我试图找出如何更改配置设置,以便在/m/memberships之后自动完成路由。

现在我基本上是单独设置每条路线:

// Main config routes
$route['(:any)/m/memberships'] = 'home';
$route['(:any)/m/memberships/admin'] = 'admin/dashboard';
$route['(:any)/m/memberships/admin/config'] = 'admin/config';

我尝试将基本网址设置为http://www.domain.com/m/memberships,但是即使此处列出的路线也没有被添加到细分中,我也无法将它们指向适当的控制器。

有人有什么建议吗?我对CI很新。

编辑: 这些是我设置的一些可能有用的配置:

$config['base_url']   = 'http://www.domain.com/folder/';
$config['index_page']    = '';
$config['uri_protocol']  = 'AUTO';

1 个答案:

答案 0 :(得分:1)

有两种方法可以做到这一点

1)设置为$config['base_url'] = 'http://www.domain.com/folder/m/memberships'; 和清晰的路线

2)设置路线$route['m/memberships/(:any)/(:any)'] = '$1/$2';

第一个更清洁