2013-02-05 88 views
1

我想運行一個過濾器,檢查應用程序是否安裝,在運行除安裝相關路由之外的任何路由之前,導致它會導致無限重定向循環。如何定義laravel全局過濾器的異常路由?

這是我應該做的:

Route::filter('before', function() 
{ 
    if (!User::isInstalled()) { 
     return Redirect::to_route('install'); // infinite redirect loop 
    } 
}); 

有什麼辦法來添加例外過濾器?或任何方式來檢查目前女巫路線運行? 有什麼想法? 感謝

回答

0

我發現從laravel api, Laravel\Routing\Route這種方法可能是一個解決辦法

Route::filter('before', function() 
{ 
    if (! Application::isInstalled() && ! URI::is('install*')) { 
     return Redirect::to_route('install'); 
    } 
}); 

,但我覺得他們應該是更好的辦法來迫使一些航線之前未使用過濾。
感謝bstrahija

2

試試這個:

Route::filter('before', function() 
{ 
    if (! User::isInstalled() and Request::segment(1) !== 'install') { 
     return Redirect::to_route('install'); 
    } 
}); 
+0

感謝您的信息:) – Behzadsh

相關問題