Search code examples
phpapachecodeignitermod-rewritecodeigniter-routing

Codeigniter URL routing question


I'd like to know how to accomplish the following using the Codigniter MVC framework:

I want the URLs on my site looking like this:

http://www.example.com/florida/miami/12345-selling-a-new-ipod.html
http://www.example.com/texas/houston/21345-nice-red-car-for-sale.html
http://www.example.com/north-carolina/hickory/92634-giving-away-two-kitties.html

So basically the URI is composed of state / city / article.

I want to cover all cities in the 50 states, but I wouldn't want to write a controller for each state and each city.

So my question basically is:

How can I write a single controller that will display a state index based on the first URI segment and a second controller displaying a city index based on the second URI segment?

Best regards

Tom


Solution

  • you could do it by configuring a route in your config/routes.php

    $route['^(:any)/(:any)'] = "some_controller/some_method/$1/$2";
    

    which will map everything into the some_method function of your some_controller class. so if you have anything else which isn't example.com/state/city it will also get sent there.. you would have to route it out of there with another route.