2013-04-23 22 views
8

Quello che voglio è solo utilizzare un controller al momento che dovrebbe gestire ogni richiesta che arriva alla mia applicazione laravel 4. Il problema è che nessuna delle soluzioni su StackOverflow o altrove sta funzionando per me.Ottieni tutti i percorsi, Laravel 4

questo è quello che hanno attualmente:

Route::any('(.*)', function(){ 
    return View::make('hello'); 
}); 

Ora, quando si naviga alla pagina ottengo un errore che dice ogni volta:

Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException 

speranza che qualcuno mi può dare una mano!

risposta

49

Le espressioni regolari sono impostate come requisiti e non direttamente nel percorso.

Route::any('{all}', function($uri) 
{ 
    return View::make('hello'); 
})->where('all', '.*'); 
+0

Wow! Grazie mille! –

+0

Thx. Come utilizzare qui "TestController" invece di restituire direttamente una vista? – Danzzz

+2

Stesso accordo, ma invece di usare una chiusura come secondo parametro si farebbe 'Route :: any ('{all}', 'TestController @ method');' –

1
Route::group(array('prefix' => '/', 'before' => 'MAKEYOUROWNFILTER'), function() 
{ 

    // your routers after the/.... 
}); 
//

e in filters.php

Route::filter('MAKEYOUROWNFILTER', function() 
{ 

    // do stuff or just 
    return View::make('hello'); 

}); 
0

Estendendosi su risposta di #Jason Lewis per reindirizzare alla pagina radice:

Route::any('{all}', function($uri) 
{ 
    return Redirect::to('/'); 
})->where('all', '.*');