0

我的 router.php 中有以下代码

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

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

当用户未登录时,它工作得很好。但是一旦他成功登录并被重定向到请求的页面,页面就不会显示任何内容;只是一个空白页。我尝试使用 :any 而不是 :all 并且它做同样的事情。

任何人都可以识别问题吗?

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 回答