2010-10-15 3 views
1

Le segment Url dans Codeigniter semble simple et facile à suivre ... cependant, je crée une fonction de recherche qui nécessite que le segment Url soit dynamique.Segment d'Url mais pour la recherche

Si j'ajoute une fonction de recherche dans mon classe principale, je dois inclure la « Bienvenue » classe à l'adresse URL: http://example.com/index.php/welcome/search/stuff-i-want-to-search/

Cependant, je veux l'URL à: http://example.com/index.php/search/stuff-i-want-to-search/

C'est sans le "Bienvenue" dans l'URL, et probablement aussi sans l'index.php

Je pensais que je pourrais y parvenir en créant un nouveau fichier de classe appelé Search. Je suis en mesure de charger le fichier, mais quand je tente de chercher, je me retrouve dans un 404.

S'il vous plaît aviser.

Répondre

1

L'utilisation $route['search/:any'] = "welcome/search/$1"; est un processus risqué, parce que: tout peut prendre quoi que ce soit ..

Je suggère d'utiliser les expressions régulières, ce qui est plus sûr d'utiliser.

$route['search/([a-z_A-Z]+)'] = 'welcome/search/$1'; 
0

vous pouvez le faire avec le routage

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

j'imagine:

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

où (i devine) votre fonction do_search() prendrait le terme comme paramètre, exploser au trait d'union, et faire ce que vous devez faire.

URL CI sont Rappelez-vous:

site.com./index.php/ contrôleur/fonction/id

1

Dans CI, URI Routing va le faire pour vous .

$route['search/:any'] = "welcome/search/$1"; 
Questions connexes