如果未设置语言参数,则Codeigniter重新路由

时间:2012-02-24 22:27:38

标签: php codeigniter url-rewriting routes

因此使用此库: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']  = '';

1 个答案:

答案 0 :(得分:2)

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

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