0

我正在尝试创建一个默认的路由前缀。

http://localhost/heb/mycont将离开希伯来语页面,而

http://localhost/mycont将引导至英文页面。

Router::connect('/:language/mycont',array('controller'=>'contname','action'=>'index'),array('language'=>'[a-z]{0,3}'));

此代码允许我使用 0-3 个字母作为语言,但它仍然需要一种语言!

http://localhost/a/mycont可以工作

http://localhost/mycont不起作用

任何想法如何解决这个问题?甚至可以使用默认路由吗?

4

2 回答 2

3

让我先声明我不是路由专家,但在这种情况下,你所拥有的东西不起作用是有道理的,因为路由需要一个语言参数;如果路线不存在,路线将不匹配。

要“修复”(引用,因为它并没有真正损坏),您可能想尝试设置您的默认语言环境,并在您的 中,如果存在值则AppController覆盖。:language

于 2010-01-11T13:29:53.097 回答
-1

我的解决方案只是将 / 设置为特定语言,而其他所有内容都标记为 /:language/

这样我就没有重复路线。

于 2010-02-17T17:07:30.540 回答