Маршруты выполняются в том порядке, в каком они указаны в вашем routes.php
.Поэтому, когда вы попытаетесь en/login
, он достигнет строки с надписью $route['^(en|de)/(.+)$'] = "$2";
, а затем направит его к контроллеру login
Вы на самом деле хотите сделать 2 разных перенаправления .. (из en/login
-> 'login' -> 'auth / login'), поэтому он не работает.
Возможно, вам просто нужно добавить специальные правила для аутентификации, например:
$route['^(en|de)/register'] = 'auth/register';
$route['^(en|de)/login'] = 'auth/login';
$route['^(en|de)/logout'] = 'auth/logout';
..и обязательно укажите до ваших общих маршрутов i18n.
прочитайте онлайн-документацию для получения дополнительной информации.