【发布时间】:2012-02-11 02:46:56
【问题描述】:
我正在使用 CakePHP 2.0 重建一个站点,需要将一些旧 URL 路由到新 URL。例如,这个:
http://www.example.com/widget/helpbox/location/mackay-qld
将路由到这个:
http://www.example.com/widgets/answer/location_id:10542
为了做到这一点,我有以下路线:
Router::connect(
'/widget/helpbox/location/mackay-qld',
array(
'controller' => 'widgets',
'action' => 'answer',
'location_id' => 10542
)
);
当我调试 $this->request->params 时,我得到了这个:
Array
(
[plugin] =>
[controller] => widgets
[action] => answer
[named] => Array
(
)
[pass] => Array
(
)
[location_id] => 10542
[isAjax] =>
)
但我希望这样:
Array
(
[plugin] =>
[controller] => widgets
[action] => answer
[named] => Array
(
[location_id] => 10542
)
[pass] => Array
(
)
[isAjax] =>
)
我也试过打电话
Router::connectNamed(array('location_id'));
...但无济于事。 location_id 仍然以相同的方式传递 - 不是作为命名参数。
有人知道正确的语法吗?
【问题讨论】:
-
这可能是一个错误。考虑为 Cake2 的家伙询问/报告它。分别为ask.cakephp.org 和cakephp.lighthouseapp.com/dashboard。
标签: cakephp cakephp-2.0