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