Search code examples
phpkohanakohana-3

kohana 3.3 Routing in sub-categories


I have this code with Route (using 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',
    ));

When I enter www.my_site/admin, it works correctly.

All users must be authenticated, so I redirect to the controller, where this happens.

public function before() {
    parent::before();
    Controller::redirect('admin/users/login'); ...

However, I get the following error:

Kohana_HTTP_Exception [ 404 ]: The requested URL admin/users/login was not found on this server.

How can I do a redirect/route to www.my_site/admin/user/login?


Solution

  • As was mentioned, does the controller and function exist?

    Also it would be recommended to create the URL for redirecting via Route

    $route = Route::get('admin')->uri(array(
        'controller' => '..',
        'action' => '..',
    ));
    Controller::redirect($route);