我正在使用Kohana Framework 3.2
通常在我的bootstrap文件中,我可以像这样设置一个Route :: set:
Route::set('faq', 'faq')->defaults(array('controller' => 'home', 'action' => 'faq'));
这样做example.com/faq指向我的控制器主页,动作常见问题。
我想知道我是否也可以这样设置重定向?
所以我可以说example.com/faq应该重定向到example.com/thegreatfaqs?
或者必须使用如上所述的route :: set到然后请求重定向到/ thegreatfaqs的控制器?
答案 0 :(得分:1)
Kohana没有内置任何东西来处理路线内的重定向。
我通常做的是路由到一个具有所有重定向规则的重定向控制器,并在那里处理重定向。
答案 1 :(得分:1)
您可以使用Route filter
执行此操作,但我认为这是 错误想法 ,因为您正在中断Kohana应用程序的正常流程。
Route::set('redirecturl', 'redirecturl')
->filter(function($route, $params, $request) {
header('Location: http://www.example.com/');
exit;
});
我建议使用Redirect rule(Apache .htaccess)或来自Scott提到的专用控制器操作的重定向,这是一个更清晰的解决方案。
答案 2 :(得分:0)
您可以像这样设置路线....>
Route::set('faq', 'thegreatfaqs(/<action>(/<id>))')
->defaults(array(
'controller' => 'home',
'action' => 'faq',
));