Поэтому я использую Codeigniter 2.1. Интернационализация библиотеки i18n , и мне нужно адаптировать мои маршруты, чтобы использовать языковые параметры в моих коротких URL, где я удаляю имя контроллера:
$route['default_controller'] = "home";
#$route['^(en|es|ro)/(.+)$'] = "$2";
#$route['^(en|es|ro)$'] = $route['default_controller'];
$route['results$'] = "fetch/results";
$route['video/(:any)'] = "fetch/video/$1";
$route['tag/(:any)'] = "fetch/tag/$1";
$route['404_override'] = '';
Поэтому мне нужно сделать эту работу http://localhost/app/en/results?query=t-shirts
вместо http://localhost/app/en/fetch/results?query=t-shirts
Как мне это сделать?
Редактировать:
$route['^(en|es|ro)/results$'] = "fetch/results";
$route['^(en|es|ro)/video/(:any)'] = "fetch/video/$1";
$route['^(en|es|ro)/video/(.+)$'] = $route['^(en|es|ro)/(.+)$'] = "$2";"fetch/video/$2";
Ни одна из вышеперечисленных работ.
Если я делаю http://localhost/app/en/fetch/video/asfasf
работает отлично
Это не http://localhost/app/en/video/asfasf
Я получаю ошибку 404:
404 Page Not Found
The page you requested was not found.
Обнаружил проблему
Итак, по какой-то причине этот набор: $route['^(en|es|ro)/(.+)$'] = "$2";
до того, что я пытался сделать, вызывало проблему.