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

前述のように、コントローラーと機能は存在しますか?

また、ルート経由でリダイレクトするためのURLを作成することをお勧めします

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

アップデート***

構造 -Controller(folder)--admin(folder)
--- users(folder) ----login.php(controller)



class Controller_Admin_Users_Login ext...

キングケロは私を助けてくれたと答えました

$route = Route::get('admin')->uri(array(
            'directory' => 'admin',
            'controller' => 'users_login',
            'action' => 'index',
));

Controller::redirect($route);

しかし、URLにはビューwww.my_site/admin/users_loginがあります

www.my_site/admin/users/loginを表示できますか?

PS多すぎてごめんなさい:)

于 2013-03-26T05:58:04.263 に答える