codeigniter路线

时间:2011-08-15 20:33:55

标签: codeigniter routes

需要下一个: 我使用codeigniter 2.02 我用htaccess

删除了index.php

我有控制器帖子和路线

$route['(:any)'] = "post/index/$1";

我得到了我想要的东西:domain.com/14代替domain.com/post/14

但现在我有下一个我想要的控制器:登录,会员等。

但是如果我去domain.com/login我被重定向到domain.com ...所以如果有人可以给我解决方案,那么我可以去登录控制器......用路线的一些正则表达式!

这是我的路线:

$route['default_controller'] = "index";
$route['404_override'] = '';
$route['(:any)'] = "post/index/$1";
$route['signup/(:any)'] = "signup/index/$1";

和hier是我需要的效果:

domain.com/camera-33455-cannon-2001
domain.com/samsung-6678-new-gallaxy-2

并获得其他控制器,如

domain.com/signup

TNX

2 个答案:

答案 0 :(得分:3)

路由按照它们在routes.php文件中的显示顺序进行处理。因此,如果您将控制器放在最前面,(:any)应该只处理之前未处理的任何内容。

尝试将其更改为:

$route['default_controller'] = "index";
$route['404_override'] = '';
$route['signup/(:any)'] = "signup/index/$1";
$route['(:any)'] = "post/index/$1";

答案 1 :(得分:2)

您是否只想要post/index路线的号码?你可能最好使用它:

$route['default_controller'] = "index";
$route['404_override'] = '';
$route['signup/(:any)'] = "signup/index/$1";
$route['(:num)'] = "post/index/$1";

这样,/15会重定向到/post/index/15,但/bob仍会加载Bob控制器。