我正在开发一个用于发布新闻网站的cms项目。我正在使用i18n插件来处理多语言问题。问题出在路由上。我有一个名为news
的模块和方法page
,路由设置为
$route['page/test'] = 'news/page/1';
当我去
时,这没有问题http://localhost/site/page/test
当我开始使用i18n本地化插件时会出现问题。那么它只适用于这个网址:
http://localhost/site/en/news/page/test
我希望网址与news
段不同。我该怎么做才能解决这个问题?
提前谢谢。
答案 0 :(得分:0)
看起来正常,因为它不再适用于路线,因为它缺少“/ en /”
您是否尝试过:
$route['en/page/test'] = 'news/page/1';
或
$route['en/page/test'] = 'en/news/page/1';
(我不知道i18n插头)
如果可行,解决方案可能是使用通配符:
$route['(:any)/page/test'] = "news/page/1";
或
$route['(:any)/page/test'] = "$1/news/page/1";
(我不知道插头i18n插头是否正常工作)
答案 1 :(得分:0)
这适用于任何带或不带语言字符串的控制器
$route['^([a-z]{2})/(.*)'] = '$2';
$route['^([a-z]{2})'] = $route['default_controller'];