CakePHP路由,使用带有默认前缀的语言前缀

时间:2010-01-11 11:51:14

标签: cakephp routing default prefix

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

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不起作用

任何想法如何解决? 是否可以使用默认路由?

2 个答案:

答案 0 :(得分:3)

让我先说明我不是路由专家,但在这种情况下,你所拥有的东西是行不通的,因为路由期望语言参数;如果路线不存在,路线将不匹配。

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

答案 1 :(得分:-1)

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

这样我没有制作重复的路线。