我正在使用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';
我错过了什么?怎么了?
答案 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';
试试这个你可能会得到结果!