【发布时间】:2013-06-20 13:54:46
【问题描述】:
我已经使用i18n 和扩展控制器配置了 Codeigniter 2.1。
我隐藏了主控制器“main”,并保持可见的“admin”和“blog”控制器。
这个网址很好用:
www.mysite.com/ zh / 函数名
www.mysite.com/ zh / 博客 /
这是我的问题: www.mysite.com/ it / 博客 / 函数名
对于主控制器“blog”,“/”之后的所有内容都会被忽略。
可以这样做吗?
我的 routes.php 文件:
$default_controller = "main";
$language_alias = array('it','en');
// exceptions
$controller_exceptions = array('admin','blog');
// route
$route['default_controller'] = $default_controller;
$route["^(".implode('|', $language_alias).")/(".implode('|', $controller_exceptions).")(.*)"] = '$2';
$route["^(".implode('|', $language_alias).")?/(.*)"] = $default_controller.'/$2';
$route["^((?!\b".implode('\b|\b', $controller_exceptions)."\b).*)$"] = $default_controller.'/$1';
foreach($language_alias as $language) {
$route[$language] = $default_controller.'/index';
}
$route['404_override'] = '';
// URI like '/en/about' -> use controller 'about'
$route['^(it|en)/(.+)$'] = "$2";
// '/it', '/en' URIs -> use default controller
$route['^(it|en)$'] = $route['default_controller'];
如果我删除 URL 中的 lang,一切正常:
www.mysite.com/ 博客 / 函数名
【问题讨论】:
标签: codeigniter codeigniter-2 codeigniter-url