Codeigniter路由不等于模式

时间:2010-09-29 08:27:45

标签: php codeigniter routes

我正在开发一个codeigniter应用程序,并且在绕过路由问题时遇到了一些麻烦。基本上我希望所有路由默认映射到特定的控制器操作,但我还希望能够指定不应遵循此模式的路由数组(或理想的初始URL段)。

举例来说:

如果我输入domain.com/username,则会映射到domain.com/controller/method/show/username

如果我输入domain.com/account,则会映射到domain.com/account

非常感谢任何帮助!

詹姆斯

2 个答案:

答案 0 :(得分:0)

打开config / routes.php并添加以下内容:

$route['(:any)'] = "controller/method/show/$1";

请参阅以下链接了解更多路由概念。

http://codeigniter.com/user_guide/general/routing.html

答案 1 :(得分:0)

路线将按照定义的顺序运行。因此,在您的路由文件中,将您仍想要工作的其他控制器的路由放在catch-all上用于用户名:

$route['default_controller'] = 'home'; //so root url still works
$route['accounts'] = "accounts";
$route['accounts/(:any)'] = "accounts/$1";
...
$route['(:any)'] = "controller/method/show/$1";