Codeigniter URL маршрутизация вопрос - PullRequest
1 голос
/ 25 марта 2011

Я хотел бы знать, как сделать следующее с помощью инфраструктуры 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, и второй контроллер, отображающий индекс города на основе второго сегмента URI?

С наилучшими пожеланиями

Том

Ответы [ 2 ]

1 голос
/ 25 марта 2011

вы можете сделать это, настроив маршрут в вашем config/routes.php

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

, который отобразит все в функцию some_method вашего класса some_controller. так что если у вас есть что-то еще, кроме example.com/state/city, оно также будет отправлено туда ... вам придется направить его оттуда другим маршрутом.

1 голос
/ 25 марта 2011

Вы можете использовать mod_rewrite в Apache для перезаписи 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...