CodeIgniter路由 - 404错误

时间:2014-01-10 10:08:59

标签: php codeigniter codeigniter-routing

我正在使用CI开发网站,今天我在管理部分遇到了问题。

我是管理员,我可以管理用户

我的申请结构是:

controllers/admin/users.php
在users.php中的

我有一些功能:index(), view($id), login(), edit($id)

views/admin/users/index.php
views/admin/users/view.php
views/admin/users/login.php
views/admin/users/edit.php

访问登录页面的网址是:

www.mysite.com/admin/login

访问网址的用户列表:

www.mysite.com/admin/users

查看特定用户(id=5)的网址是:     www.mysite.com/admin/users/5

除了编辑功能外,一切运行良好,当我拨打www.mysite.com/admin/edit/5时,我收到了一个网址

这是我的路由规则:

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

$route['admin/users/login'] = 'admin/users/login';

$route['admin/users/edit/(:num)'] = 'admin/users/edit/$1';

$route['admin'] = 'admin/users/login';
我错过了什么?怎么了?

2 个答案:

答案 0 :(得分:2)

尝试将序列放在序列中,因为路线从上到下匹配:

$route['admin'] = 'admin/users/login';
$route['admin/users'] = 'admin/users';
$route['admin/users/login'] = 'admin/users/login';
$route['admin/users/edit/(:num)'] = 'admin/users/edit/$1';
$route['admin/users/(:any)'] = 'admin/users/view/$1';

:any可能会捕获太多并且干扰,我会把它留作所有非指定的最后一条全能路线。

答案 1 :(得分:0)

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

$route['admin/users/login'] = 'admin/users/login';

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

$route['admin'] = 'admin/users/login';

试试这个你可能会得到结果!