Как да пренапиша url чрез премахване на името на контролера в codeigniter

Имам моите URL адреси като:

samplesite.com/aboutus [aboutus е администратор]

samplesite.com/contactus [contactus е администратор]

Също така имам регистрирани членове, които се показват като

samplesite.com/memberaccount/32 [memberaccount е администратор, а 32 е memberid]

Също така направих пренаписване на горните URL адреси за членовете, които да бъдат показвани като

samplesite.com/memberaccount/john [john е членът с memberid 32]

Това, което искам да постигна е следното:

http://www.samplesite.com/john (това създава проблем, тъй като се сблъсква с имената на контролера aboutus, contactus и т.н.. и нека ви кажа, че имам 40 до 50 такива контролера.Моля, някой може ли да ми предложи как да получа това.


person Php Mysql    schedule 14.09.2013    source източник
comment
Трябва да публикувате вашия routes.php. Може да ви се стори трудно да постигнете това с помощта на маршрутизиране на codeigniters, тъй като ще трябва да създадете маршрут за улавяне на всички, за да пренасочите всичко към контролера на вашите членове. Това трябва да бъде поставено в долната част на вашия routes.php. Може да е по-добре да пренапишете URL адреса, за да премахнете сегмента на членския акаунт във вашия .htaccess   -  person Jeemusu    schedule 14.09.2013


Отговори (1)


за това нещо трябва да използвате маршрутите в ci, които са както са дадени

$route['aboutus'] = "any controller is map to that name";

samplesite.com/aboutus [aboutus е администратор]
samplesite.com/contactus [contactus е администратор]

$route['memberaccount/(:num)'] = "any controller is map to that name/$1";

samplesite.com/memberaccount/32

ако все още не се получава, опитайте горната връзка http://ellislab.com/codeigniter/user-guide/general/routing.html

person saurabh kamble    schedule 14.09.2013
comment
$route['(:any)'] = членски акаунт/$1; това работи за мен.. така че когато отида на samplesite.com/john, той се преобразува в samplesite.com/memberaccount/john.. но създава проблем, когато се опитам да отида на моята страница aboutus. т.е. samplesite.com/aboutus .. той третира aboutus като един от членовете на сайта. и се опитва да го картографира към samplesite.com/memberaccount/aboutus и това е, което точно искам да избегна.. има ли сега начин, където мога да накарам маршрутите да игнорират файловете на контролера. Другото решение би било да се изброят всички контролери като $route['aboutus'] = aboutus; и т.н.. Имам 60 файла на контролера - person Php Mysql; 14.09.2013