sanu0074
Новичок
Делаю мультиязычный сайт на CI.
так вот выглядит routes.php (часть его):
т.е. всегда после домена, 1й сегмент урла это код языка - иначе быть не может. И строка "$route['([^ru]|[^en])/( :any)'] = "main/setLang";" говорит о том что если код языка не равен ru или en, то нужно тут же перенаправить юзера на страницу main/setLang где присвоится нужный сегмент. Например заходим на site.com/de/page-abc - нас перенаправляет на site.com/main/setLang, тут же определятся язык из юзер агента или присваивается язык по умолчанию, и перенаправляет уже на (к примеру): site.com/ru/page-abc
Проблема в том что этот код не пашет, в данном случае если первый сегмент ru или en - то все работает как надо, а вот если de - то получаем 404! И так же если просто зайти на site.com/ - должно было перенаправить на site.com/main/setLang - но этого не происходит, и даже не выдает ошибку, а просто грузится главный контроллер!
В чем здесь ошибка? Я так подозреваю здесь: $route['([^ru]|[^en])/
any)'] = "main/setLang"
И вообще, как правильно организовать решение такой задачи на codeigniter?
так вот выглядит routes.php (часть его):
PHP:
$route['([^ru]|[^en])/(:any)'] = "main/setLang";
$route['(ru|en)'] = $route['default_controller'];
$route['(ru|en)/(:any)'] = "$2";
Проблема в том что этот код не пашет, в данном случае если первый сегмент ru или en - то все работает как надо, а вот если de - то получаем 404! И так же если просто зайти на site.com/ - должно было перенаправить на site.com/main/setLang - но этого не происходит, и даже не выдает ошибку, а просто грузится главный контроллер!
В чем здесь ошибка? Я так подозреваю здесь: $route['([^ru]|[^en])/
![Smile :) :)](/talk/styles/default/xenforo/smilies/smile.png)
И вообще, как правильно организовать решение такой задачи на codeigniter?