Redirect routing in CakePHP

131 Views Asked by At

I'm trying to set up a CakePHP redirect route, but I'm stuck. Reading the book didn't help so far.

I want to redirect the URL /mysite/xyz to /mysite/en/xyz (which includes a language parameter)

The route for the final URL, /mysite/en/xyz, is set up like so, and works fine:

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')
    )
);

The redirect route is set up like so:

Router::redirect(
    '/:category/*',  
    array('controller' => 'content', 'action' => 'index', 'language' => 'en'),
    array(
        'named' => array('category'),
        'category' => 'abc|def|xyz', 
        'pass' => array('language'),
        'persist' => array('category')
    )
);

However, if I now access the URL /mysite/xyz, I'm redirected to /mysite/mysite/en/xyz/en - note the duplication of parameters.

How can I set this up correctly?

0

There are 0 best solutions below