我想知道如何使用Codigniter MVC框架来完成以下任务:
我希望我网站上的网址如下所示:
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
所以基本上URI是由州/市/文章组成的。
我想覆盖50个州的所有城市,但我不想为每个州和每个城市编写控制器。
所以我的问题基本上是:
如何编写一个基于第一个URI段显示状态索引的控制器和一个基于第二个URI段显示城市索引的第二个控制器?
祝你好运
汤姆
答案 0 :(得分:1)
您可以在Apache中使用mod_rewrite进行URL重写。在CodeIgnitor http://codeigniter.com/wiki/mod_rewrite/的文档中。基本上,您必须定义正则表达式以将/arg1/arg2/arg3
重写为url your_controller/state=arg1&city=arg2&value=arg3
mod_rewrite的详细信息可以在http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html
答案 1 :(得分:1)
您可以通过在config/routes.php
$route['^(:any)/(:any)'] = "some_controller/some_method/$1/$2";
将把所有内容映射到some_controller类的some_method函数。 因此,如果您还有其他任何不是example.com/state/city的内容,它也会被发送到那里......您必须使用其他路线将其路由到那里。