在 Kohana 中路由而不显示控制器名称

Routing in Kohana without showing controller name

我想在 Kohana Framework 版本 3.3.1 中创建路由。

我想要 URL 像 http://www.test.com/male/London 并且在内部他们会像下面那样 URL-

http://www.test.com/list/search/London

我想在 URL 中隐藏控制器和动作名称。

非常感谢任何帮助。

这可以通过使用 bootstrap.php and/or 模块的 init.php 文件中的路由来实现。

例如,您可以为 (male/<location>) 设置路线,然后您的默认控制器将是 list 和操作 search.

然后您可以使用 $this->request->param('location'); 访问 controller/action 中的位置,以用于您需要的任何数据库查询。

迷茫?通读 Kohana Docs 的这一部分,应该都明白了。

您必须对文件进行两项更改:

    1. 引导文件:

      Route::set('list', 'male/<id>' )
      ->defaults(array(
      'controller' => 'list',
      'action'     => 'search',
      ));` 
      
    1. 其次,您可以让 link 像

      href="<?php echo URL::site('male/'.id, TRUE) ?>">
      

并且这个路由文件应该在你的默认路由文件之上。