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は州/市/記事で構成されます。

50 州のすべての都市をカバーしたいのですが、州ごと、都市ごとにコントローラーを作成したくはありません。

だから私の質問は基本的に次のとおりです。

最初の URI セグメントに基づいて州インデックスを表示する単一のコントローラーと、2 番目の URI セグメントに基づいて都市インデックスを表示する 2 番目のコントローラーを作成するにはどうすればよいですか?

よろしくお願いします

トム

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 に答える