如果未设置语言参数,则代码点火器重新路由


Codeigniter reroute if language parameter not set

因此,使用此库:http://codeigniter.com/wiki/CodeIgniter_2.1_internationalization_i18n,我想知道为什么如果我访问http://test.com/home,它会重定向到http://test.com/en/home,但如果我尝试访问http://test.com/video/123asd,它不会重定向到http://test.com/en/video/123asd

你知道为什么会发生这种事吗?

这是我的routes.php

$route['default_controller'] = "home";
// URI like '/en/about' -> use controller 'about'
$route['^(en|es|ro)/video/(.+)$']  = "fetch/video/$2";
$route['^(en|es|ro)/results$']     = "fetch/results$2";
$route['^(en|es|ro)/(.+)$']        = "$2";
// '/en', '/de', '/fr' and '/nl' URIs -> use default controller
$route['^(en|es|ro)$'] = $route['default_controller'];
$route['404_override']  = '';

CI路由不处理URL重定向;它们指定了与控制器和方法的URL关系。

对于重定向,最好在控制器中添加一个redirect(),或者如果您在Apache服务器上,则使用.htaccess。