开发者

Codeigniter URL routing question

开发者 https://www.devze.com 2023-02-20 06:49 出处:网络
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:

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


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.


You can use mod_rewrite in Apache to do the URL rewrite. In the document of CodeIgnitor http://codeigniter.com/wiki/mod_rewrite/ . Basically, you have to define the regular expression to rewrite /arg1/arg2/arg3 to url your_controller/state=arg1&city=arg2&value=arg3 Details of mod_rewrite can be found at http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

0

精彩评论

暂无评论...
验证码 换一张
取 消