0

我有 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

4

2 回答 2

0

更新***

结构
-Controller(文件夹)
--admin(文件夹)
---users(文件夹)
----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吗?

PS如果我想要太多,我很抱歉:)

于 2013-03-26T05:58:04.263 回答
0

如前所述,控制器和功能是否存在?

此外,建议创建用于通过Route重定向的 URL

$route = Route::get('admin')->uri(array(
    'controller' => '..',
    'action' => '..',
));
Controller::redirect($route);
于 2013-03-25T16:16:11.173 回答