尝试学习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路由总是正常工作的事实所破坏,所以我从来没有真正了解它......
答案 0 :(得分:2)
将example.htaccess重命名为.htaccess,将其打开并将行RewriteBase /
更改为RewriteBase /kohana/
。 Windows资源管理器可能不允许没有名称的文件,因此您必须使用另一个文件管理器(例如Total Commander)。