不懂 Kohana php 框架中的路由

Do not understand routing in Kohana php framework

尝试学习 Kohana,来自 Asp.Net MVC 3。在 MVC 中,我习惯于默认路由(非常类似于 Kohana 中的默认路由)的工作方式如下:

默认路由匹配以下任何一个:

1
2
3
/
/Home
/Home/Index

我希望它在 Kohana 中是一样的,但似乎所有匹配的都是这样的:

1
/

这是我在 bootstrap.php 中的设置:

1
2
3
4
5
6
7
8
9
10
Kohana::init(array(
    'base_url'   => '/kohana',
                 'index_file' => FALSE
));

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

因此,如果我在地址栏中输入 localhost/kohana,我会看到控制器 home 和操作索引 (action_index) 调用的视图。但是,如果我输入 localhost/kohana/home/index,我会收到一个错误,说该对象不存在。

这是为什么?我不应该能够在 url 中输入控制器和操作并获得正确的路由吗?所以基本上我不知道如何输入 URL 以获取操作方法...

对不起,如果这是一个愚蠢的新手问题,但我无法弄清楚谷歌搜索和查看 Kohana 文档......我已经被 Asp.Net MVC 路由总是只是工作,所以我从来没有真正了解过它......


将example.htaccess 重命名为.htaccess,打开它并将RewriteBase / 行更改为RewriteBase /kohana/。 Windows 资源管理器可能不允许没有名称的文件,因此您必须使用另一个文件管理器(例如 Total Commander)。