Сегмент URL, но для поиска - PullRequest
       0

Сегмент URL, но для поиска

1 голос
/ 15 октября 2010

Сегмент URL в Codeigniter кажется простым и легким для отслеживания ... однако я создаю функцию поиска, которая требует, чтобы сегмент URL был динамическим.

Если я добавлю функцию поиска в свой основной класс, мне нужно будет добавить класс "Welcome" в URL-адрес: http://example.com/index.php/welcome/search/stuff-i-want-to-search/

Однако я хочу, чтобы URL был: http://example.com/index.php/search/stuff-i-want-to-search/

Это без "Welcome" в URL, и, скорее всего, также без index.php

Я думал, что смогу достичь этого, создав новый файл классов с именем Search. Я могу загрузить файл, но когда я пытаюсь выполнить поиск, я получаю 404.

Пожалуйста, сообщите.

Ответы [ 3 ]

1 голос
/ 15 октября 2010

В CI URI Routing сделает это за вас.

$route['search/:any'] = "welcome/search/$1";
1 голос
/ 15 октября 2010

Использование $route['search/:any'] = "welcome/search/$1"; - рискованный процесс, потому что: любой может взять что угодно ..

Я предлагаю использовать регулярные выражения, что безопаснее в использовании.

$route['search/([a-z_A-Z]+)'] = 'welcome/search/$1';
0 голосов
/ 15 октября 2010

вы можете сделать это с маршрутизацией

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

я представляю:

$route['search/:any'] = "search/do_search/$1";

где (я предполагаю) ваша функция do_search () примет термин в качестве параметра, взорвет его в дефисах и сделает то, что вам нужно.

помните, что URL-адреса CI:

site.com. / Index.php / * * +1015 контроллер * +1016 * / функция / * * ID тысяча двадцать два * 1 023 *

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