2012-02-18 2 views
0

Используя CodeIgniter, у меня есть имя функции контроллера search, который принимает в параметрах state и city в сегментах URI http://www.mysite.com/functionA/MA/Boston/0, где 0 используется классом постраничной. Функция контроллера декларация будет таким образом выглядеть следующим образом:Более 1 контроллер имя функции в URI

function search(state, city) { 
    ... 
} 

Проблема: Для целей SEO и получить довольно URL-адрес, я хочу http://www.mysite.com/search/MA/Boston/view/12345 показать конкретную страницу для идентификатора продукта 12345. В этом случае View наша вторая функция управления определяется

function view(pid) { 
    ... 
} 

И первая функция контроллера search ничего не делать в этом случае, его там в URL только, чтобы сделать URL довольно т.д. Так view является только функция рабочего контроллера.

Как я могу это достичь?

ответ

2

URI Routing

http://ellislab.com/codeigniter/user_guide/general/routing.html

Что-то вроде этого mayhaps?

//goes in application/config/routes.php 
$route['search/(:any)/(:any)/view/(:num)'] = "view/$3"; 

Это получает любой URI, который выглядит как search/something/whatever/view/325 и перенаправляет его view/325

Смежные вопросы