Laravel重定向问题

时间:2014-03-06 09:24:49

标签: php laravel-4

我正在使用Laravel 4.当在会话中找到“logged_in_id”时,我希望它继续通过波纹编写的路由进行解析。

Route::get('/{anything}', function($anything)
{
    if(!Session::has('logged_in_id')) {
        return View::make('user.login');
    } else {
        //continue to check Route::get written bellow this Routing
    }
})->where('anything', '[A-Za-z0-9\/?=]+'); 

如果我写Redirect::to('/'.$anything),那么它进入相同的路由并继续循环重定向。有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

我会创建一个过滤器,然后将其应用于任何需要它的路径。

请记住首先放置限制性更强的路线,并使用更通用的路线。

参见示例:

Route::filter('logged_in', function()
{
    if(!Session::has('logged_in_id')) {
        return View::make('user.login');
    }
});

Route::get('testing',  array(
    'before' => 'logged_in',
    function()
    {
        return View::make('user.testing');
    }
));

Route::get('/{anything}', array(
    'before' => 'logged_in',

    function($anything)
    {
        return View::make('user.anything');
    }

))->where('anything', '[A-Za-z0-9\/?=]+');