1

我想知道如何使用 Codigniter MVC 框架完成以下任务:

我希望我网站上的 URL 看起来像这样:

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 是由 state/city/article 组成的。

我想覆盖 50 个州的所有城市,但我不想为每个州和每个城市编写一个控制器。

所以我的问题基本上是:

如何编写一个控制器来显示基于第一个 URI 段的状态索引和第二个控制器显示基于第二个 URI 段的城市索引?

最好的祝福

汤姆

4

2 回答 2

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找到

于 2011-03-25T13:14:02.667 回答
1

你可以通过在你的config/routes.php

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

这会将所有内容映射到 some_controller 类的 some_method 函数中。因此,如果您有其他任何不是 example.com/state/city 的东西,它也会被发送到那里..您将不得不使用另一条路线将其路由到那里。

于 2011-03-25T13:56:49.143 回答