2014-03-06 4 views
0

Laravel 4를 사용하고 있습니다. 세션에서 "logged_in_id"가 발견되면 작성된 경로를 통해 계속 구문 분석하고 싶습니다. Laravel 리디렉션 문제

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

가 그런 논리는 잘못 :

는 예를 참조하십시오. Whre from 당신은 리다이렉트합니까? – Andreyco

답변

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\/?=]+');