CodeIgniter Forums

Full Version: URI routing problem - $route['listings/(:any)']
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

El Forum

[eluser]Brad Martin[/eluser]
Hi Guys,

Got a problem with the URI routing in ./config/routes.php

I want to have the following routes:


$route['listings/(:any)'] = 'listings/index/$1'; // example url: listings/some-text

$route['listings/(:any)/(:any)'] = 'listings/profile/$2'; // example url: listings/some-text/some-more-text

It seems like the first route is overriding the secondary route because of the use of (:any)

I tried any alteration of:

$route['listings/(:num)'] = 'listings/index/$1'; // example url: listings/1

$route['listings/(:num)/(:num)'] = 'listings/profile/$2'; // example url: listings/2/3

And this seems to work but i need them to be text not numbers.

I know i can overcome this issue by remaping in the controller but i was looking for a simpler way.

Is this a bug in code igniter ? Is there any other options i can use for overcoming this which out having to remap the controller.


El Forum

[eluser]CodeIgniteMe[/eluser]
change the order of the routes
place
$route[‘listings/(:any)/(:any)’] = ‘listings/profile/$2’;
before
$route[‘listings/(:any)’] = ‘listings/index/$1’;

El Forum

[eluser]Brad Martin[/eluser]
Worked perfectly!

Thanks

El Forum

[eluser]CodeIgniteMe[/eluser]
Welcome, just put the child route before it's parent route so the route will not be overriden