不懂Kohana php框架中的路由

时间:2011-09-07 09:06:06

标签: php routing kohana-3

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

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

/
/Home
/Home/Index

我希望它在Kohana中是相同的,但看起来它匹配的是:

/

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

Kohana::init(array(
    'base_url'   => '/kohana',
                 'index_file' => FALSE
));

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

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

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

很抱歉,如果这是一个愚蠢的新手问题,但我无法弄清楚谷歌搜索并查看Kohana文档...我已经被Asp.Net MVC路由总是正常工作的事实所破坏,所以我从来没有真正了解它......

1 个答案:

答案 0 :(得分:2)

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