首页 > 解决方案 > CakePHP 2.3 中的路由

问题描述

我有一个与 CakePHP 2.x Custom Route with Arguments类似的问题,我想将参数用作我的变量之一。

(域/参数/控制器/动作/参数)

Router::connect(
    '/:sitecode/:controller/:action/*',
    array(),
    array('sitecode' => '[A-Z]{20}', 'persist' => array('sitecode'))
);

上面的代码不起作用,它仍然将:sitecode视为控制器和:controller操作。我做错了什么?

以后如何:sitecode从我的代码中访问?

标签: cakephp-2.3

解决方案


Customize your route like this:

Router::connect(
   '/:sitecode/:controller/:action/*',
   array('controller' => :controller, 'action' => :action),
   array('sitecode' => '[A-Z]{20}', pass => ['sitecode'])
);
Later in your code get sitecode using - $this->request->params['sitecode']

推荐阅读