cakephp路由语言子目录

时间:2013-05-24 12:43:59

标签: cakephp cakephp-1.3

我正在生成一个链接(这是为了将语言设置为“fre”时):

$html->link('About', array('controller' => 'pages', 'action' => 'about', 'language'=> 'fre')) ;

我还有一个语言[eng | fre]的子目录,如上所示,这可以是语言:

我这样路由:

Router::connect('/:language/:controller/:action/*',
                   array(),
                   array('language' => 'eng|fre'));

// this worked before the language subdomain
Router::connect('/about',array('controller'=>'pages','action'=>'about'));

我遇到的问题是,我希望网址是:

/eng/about
/fre/about

但显然他们的出现是:

/eng/pages/about
/fre/pages/about

2 个答案:

答案 0 :(得分:1)

我认为假设这应该有效

Router::connect('/:language/about',array(
    'controller'=>'pages',
    'action'=>'about',
    'language' => 'eng|fre'
));

编辑:如果所有20个页面都可以尝试

Router::connect('/:language/:action',array(
    'controller'=>'pages',
    'action' => 'about|contact|something|else',
    'language' => 'eng|fre'
));

答案 1 :(得分:0)

这允许您对任何页面使用任何3字符语言代码:

Router::connect(
    '/:language/:controller/:action/*',
    array(),
    array('language'=>'[a-z]{3}')
);
相关问题