CakePHP中的重定向路由

CakePHP中的重定向路由,cakephp,cakephp-2.3,cakephp-routing,Cakephp,Cakephp 2.3,Cakephp Routing,我正试图设置一个CakePHP重定向路由,但我被卡住了。到目前为止,读这本书没有帮助 我想将URL/mysite/xyz重定向到/mysite/en/xyz(其中包括一个语言参数) 最终URL的路由,/mysite/en/xyz,设置如下,运行良好: Router::connect( '/:language/:category/*', array('controller' => 'content', 'action' => 'index'), arra

我正试图设置一个CakePHP重定向路由,但我被卡住了。到目前为止,读这本书没有帮助

我想将URL
/mysite/xyz
重定向到
/mysite/en/xyz
(其中包括一个语言参数)

最终URL的路由,
/mysite/en/xyz
,设置如下,运行良好:

Router::connect(
    '/:language/:category/*',  
    array('controller' => 'content', 'action' => 'index'),  
    array(
        'named' => array('language', 'category'),
        'language' => 'en|de',
        'category' => 'abc|def|xyz', 
        'pass' => array('language', 'category')
    )
);
重定向路由设置如下:

Router::redirect(
    '/:category/*',  
    array('controller' => 'content', 'action' => 'index', 'language' => 'en'),
    array(
        'named' => array('category'),
        'category' => 'abc|def|xyz', 
        'pass' => array('language'),
        'persist' => array('category')
    )
);
但是,如果我现在访问URL
/mysite/xyz
,我将被重定向到
/mysite/mysite/en/xyz/en
——请注意参数的重复


如何正确设置此设置?

您是否尝试删除路由器::connect中的
'pass'=>array('language','category')
?@Oliboy50:'pass'=>array('language','category')在第一条路由中,可以正常工作。这是我遇到问题的重定向路线。