0

このコードはrouter.phpにあります

Route::group(array('before' => 'auth'), function() 
{
    Route::get('account/(:all?)', function() {});
    Route::get('facebook/(:all?)', function() {});
});

Route::controller(Controller::detect());

ユーザーがログインしていない場合はうまく機能します。ただし、ユーザーが正常にログインして要求されたページにリダイレクトされると、ページには何も表示されません。ただの空白のページ。私は:allの代わりに:anyを使おうとしましたが、同じことをします。

誰かが問題を特定できますか?

4

2 に答える 2

1

ルートは空のクロージャーにマップされます。何かを返すか、コントローラーにマップする必要があります。

Route::get('account/(:any?)', function() {
    return "Hello World";
});

Route::get('account/(:any?)', function() {
    return View::make('accounts.index');
});

//assuming you have an AccountController.php
Route::get('account/(:any?)', 'account@index');

//automatically route all methods of a controller
Route::controller('account');

ルーティングに関する laravel ドキュメントを確認してください。

于 2013-03-07T19:02:12.320 に答える
0

どうやら、グループ フィルターを使用するためのより良い解決策が見つかりませんでした。ゲストを認証にリダイレクトするために私が今行っている方法は次のとおりです。

Route::filter('before', function()
{
    $open_routes = array(
        '', 
        'home', 
        'auth', 
        'help'
    );
    if(!in_array(URI::segment(1), $open_routes) && Auth::guest()) {
        return Redirect::to('/auth/login');
    }
});
于 2013-03-12T23:51:07.233 に答える