我有Route的代码(使用Kohana 3.3)
Route::set('admin', '<directory>(/<controller>(/<action>))', array('directory' => '(admin)'))
->defaults(array(
'controller' => 'main',
'action' => 'index',
));
Route::set('default', '(<controller>(/<action>(/<id>)))')
->defaults(array(
'controller' => 'main',
'action' => 'index',
));
当我输入www.my_site/admin
时,它可以正常工作。
所有用户都必须经过身份验证,因此我会重定向到控制器,这会发生这种情况。
public function before() {
parent::before();
Controller::redirect('admin/users/login'); ...
但是,我收到以下错误:
Kohana_HTTP_Exception [404]:在此服务器上找不到请求的URL admin / users / login。
如何重定向/路由到www.my_site/admin/user/login
?
答案 0 :(得分:0)
如上所述,控制器和功能是否存在?
此外,建议您通过Route
创建重定向网址$route = Route::get('admin')->uri(array(
'controller' => '..',
'action' => '..',
));
Controller::redirect($route);
答案 1 :(得分:0)
更新***
<强>结构强>
-Controller(文件夹)
--admin(文件夹)
---用户(文件夹)
---- login.php中(控制器)
class Controller_Admin_Users_Login ext...
kingkero 回复了帮助我
$route = Route::get('admin')->uri(array(
'directory' => 'admin',
'controller' => 'users_login',
'action' => 'index',
));
Controller::redirect($route);
但是网址有 www.my_site / admin / users_login
我们可以查看 www.my_site / admin / users / login 吗?
P.S。如果我想要太多,我很抱歉:)