URL дружественного профиля смешиваются с контроллерами - PullRequest
0 голосов
/ 04 марта 2012

Я разрешаю пользователям использовать URL профиля: domain.com / AwesomeUser

В моих маршрутах:

$route['(:any)'] = 'user';

У меня проблема в том, что мои контроллеры теперь недоступны, я могу сделать что-то вроде:

$route['blog']    = 'blog';
$route['blog/(:any)'] = 'blog/$1';
$route['contact'] = 'contact';

Для каждого контроллера и параметра, которые у меня есть, но это просто ненадежно, я хотел бы что-то более эффективное, у меня также есть массив с именами контроллеров, которые я хотел бы исключить:

$reserved_names = array(
    'blog',
    'page',
    'contact'
);

Есть идеи?

Ответы [ 2 ]

1 голос
/ 05 марта 2012

всегда ставьте подстановочный знак последним.Маршруты работают в том порядке, в котором вы их определяете, первый в списке == первый раз вызванный.

1 голос
/ 05 марта 2012

Это может помочь вам

$reserved_names = array(
    'blog',
    'page',
    'contact'
);
foreach ($reserved_names as $name )
{
    $route[$name]    = $name;
    $route[$name.'/(:any)'] = $name.'/$1';
}

$route['(:any)'] = 'user';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...