kohana在网址中隐藏动作名称以进行特定操作

时间:2013-11-20 12:16:23

标签: action kohana routes

我有这样的默认路线:

Route::set('default', '(<controller>(/<action>(/<id>(/<id2>))))')
    ->defaults(array(
        'controller' => 'index',
        'action' => 'index',
        'directory' => 'frontend'
    ));

我还有文章控制器,带有动作添加和动作节目。

我需要的是在网址中隐藏节目(动作名称),但在网址中保留添加(动作名称)。

我试图添加另一条路线:

Route::set('article_show', 'article(/<id>)')
    ->defaults(array(
        'directory' => 'frontend',
        'controller' => 'article',
        'action' => 'show',
    ));

但是只有show动作适用于所有网址。 我需要article / id url working和article / add working,但是article / show / id不应该正常工作。

1 个答案:

答案 0 :(得分:1)

我认为这应该有效:

Route::set('article_show', 'article((/<action>)/<id>)', array('action' => 'add', 'id' => '\d+'))
    ->defaults(array(
        'directory' => 'frontend',
        'controller' => 'article',
        'action' => 'show',
    ));

我还建议您根据需要替换默认路由(仅作为示例,不要使用)。