1

我的 routes.php 中的此代码用于将 URL 从旧版本的站点路由到然后重定向到新 URL 的函数。它适用于它应该适用的 URL,例如/p2045/some-product,但它也匹配以 ap 开头的 URL,例如/products. 我假设下面的正则表达式与此不匹配。谁能指出我正确的方向?

Router::connect('/p:id/*',
    array(
        'controller' => 'products',
        'action' => 'legacy_redirect',
        'id' => '^[0-9]+$'
    )
);
4

1 回答 1

3

根据这个:http ://book.cakephp.org/2.0/en/development/routing.html#passing-parameters-to-action我认为你应该使用类似的东西:

Router::connect(
    '/p:id/*',
    array('controller' => 'products', 'action' => 'legacy_redirect'),
    array(
        'pass' => array('id'),
        'id' => '[0-9]+'
    )
);
于 2013-05-30T14:51:01.860 回答