【发布时间】:2013-08-01 08:15:56
【问题描述】:
我的蛋糕网址是这样的:
$token = '9KJHF8k104ZX43';
$url = array(
'controller' => 'users',
'action' => 'password_reset',
'prefix' => 'admin',
'admin' => true,
$token
)
我希望将其路由到更漂亮的 URL,例如:
/admin/password-reset/9KJHF8k104ZX43
但是,我希望最后的令牌是可选的,这样如果有人不提供令牌,它仍然会被路由到:
/admin/password-reset
这样我就可以抓住这个案例并重定向到另一个页面或显示一条消息。
我读了很多关于路由的书,但我仍然不觉得它以我完全理解的方式正确解释了复杂的情况,所以我真的不知道该去哪里。比如:
Router::connect('/admin/password-reset/:token', array('controller' => 'users', 'action' => 'password_reset', 'prefix' => 'admin', 'admin' => true));
我真的不知道如何选择性地捕获令牌并将其传递给 URL。
【问题讨论】:
-
这不是有点“浪费你的资源”吗?为什么有人会美化不相关的网址?这是一个非索引极少使用的 url。我认为没有人真正关心这个动作的 url 有多漂亮。尤其是这里的管理员路由。
-
我想在很多地方使用它,而不仅仅是这个 URL。这只是一个例子。我基本上想知道如何使用自定义路由参数。
标签: cakephp routing cakephp-2.0 cakephp-2.3