如何解决HMVC中的路由?

时间:2012-03-14 00:46:25

标签: url-routing codeigniter-2 hmvc

我正在开发一个用于发布新闻网站的cms项目。我正在使用i18n插件来处理多语言问题。问题出在路由上。我有一个名为news的模块和方法page,路由设置为

$route['page/test'] = 'news/page/1';

当我去

时,这没有问题
http://localhost/site/page/test
当我开始使用i18n本地化插件时会出现问题。那么它只适用于这个网址:

http://localhost/site/en/news/page/test

我希望网址与news段不同。我该怎么做才能解决这个问题? 提前谢谢。

2 个答案:

答案 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'];