我正在使用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)
,那么它进入相同的路由并继续循环重定向。有没有办法解决这个问题?
答案 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\/?=]+');