2013-04-23 5 views
8

То, что я хочу, это просто использовать один контроллер в тот момент, который должен обрабатывать каждый запрос, который приходит в мое приложение laravel 4. Проблема в том, что ни одно из решений в stackoverflow или в другом месте не работает для меня.Получить все маршруты, Laravel 4

Вот что я в настоящее время:

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

Теперь при просмотре страницы я получаю каждый раз ошибки говоря:

Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException 

Надежда кто-то может помочь мне!

ответ

49

Регулярные выражения задаются как требования, а не непосредственно на маршруте.

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

Wow! Спасибо огромное! –

+0

Thx. Как использовать, например, «TestController» здесь вместо прямого возврата вида? – Danzzz

+2

То же дело, но вместо того, чтобы использовать замыкание в качестве второго параметра, вы должны использовать 'Route :: any ('{all}', 'TestController @ method');' –

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

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

// и в filters.php

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

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

}); 
0

Расширение на ответ #Jason Льюиса для перенаправления на корневую страницу:

Route::any('{all}', function($uri) 
{ 
    return Redirect::to('/'); 
})->where('all', '.*'); 
Смежные вопросы