1
我试图根据Cake2中的url扩展路由到不同的操作。我有这个工作路线:CakePHP:基于扩展的不同路由
Router::connect(
'/:lang/:product/:version/:filename',
array(
'controller' => 'pages',
'action' => 'run',
'lang' => ':lang',
'product' => ':product',
'version' => ':version',
'filename' => ':filename'
),
array(
'pass' => array('filename'),
'lang' => '[a-zA-Z]{2}',
'product' => '[a-zA-Z0-9_!\-]+',
'version' => '[0-9]{3}',
'filename' => '[a-zA-Z0-9_!\-\.]+'
)
);
对于新的路线,我只是添加了扩展名,并改变了行动。
Router::connect(
'/:lang/:product/:version/:filename.json',
array(
'controller' => 'pages',
'action' => 'get',
'lang' => ':lang',
'product' => ':product',
'version' => ':version',
'filename' => ':filename'
),
array(
'pass' => array('filename'),
'lang' => '[a-zA-Z]{2}',
'product' => '[a-zA-Z0-9_!\-]+',
'version' => '[0-9]{3}',
'filename' => '[a-zA-Z0-9_!\-\.]+'
)
);
出于某种原因,尽管run
行动仍称(包括分机,所以/../pages/json/run.ctp)。
感谢您的帮助!
感谢您的回复。不幸的是,这并没有帮助。我改变了路线的顺序,并拿出了点。仍然Cake发送到'run'动作 – harpax 2012-02-14 09:05:33