2015-07-20 6 views
0

У меня есть многоязычный сайт, созданный в Codeigniter. Текущий язык добавляется ко всем URL-адресам. Например site.com/en/basic/user/subscription, где «en» определяет язык. В routes.php У меня есть следующий:Codeigniter направляется к другому контроллеру

$route['(\w{2})/(.*)'] = '$2'; 
$route['(\w{2})'] = $route['default_controller']; 

Теперь я хочу, чтобы маршрут всех звонков: Pro/пользователю/* к базовому/пользователю/*. Pro и basic являются папками, а пользователь - контроллером. Я пробовал это в route.php, ниже строк выше.

$route['pro/user/(.*)'] = 'basic/user/$1'; 

Я получаю только 404. Я также пробовал разные версии при добавлении языковой части, но не могу заставить ее работать. Пробовал использовать (: any) также.

+1

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

+0

Здесь приведено руководство пользователя по кодированию uri http://www.codeigniter.com/user_guide/general/routing.html – user4419336

ответ

0

Я нашел рабочее решение. Я ставлю это правило выше языковой части.

$route['(.*)/pro/user/(.*)'] = 'basic/user/$2'; 
Смежные вопросы