CodeIgniter Routing - 404 error

codeigniter, codeigniter-routing, php

Solution

Try putting it higher in the sequence, since route are matched top to bottom:

$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';

That `:any` might be catching too much and interfere, I'd leave it as a last catch-all route for all those non specified.

Problem

I'm developping a website using CI and today I'm facing a problem in the admin part. I've an admin and I can manage users the structure of my application is: ``` controllers/admin/users.php ``` in users.php I've some functions: `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 ``` to access the login page the url is: ``` www.mysite.com/admin/login ``` to access the list of users the url is: ``` www.mysite.com/admin/users ``` to view a specific user `(id=5)` the url is: `www.mysite.com/admin/users/5` everything is working well except for the edit function, I got an url when I call `www.mysite.com/admin/edit/5` here are my routing rules: ``` $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'; ``` I miss something? what is wrong?

Original source