获取所有路线,Laravel 4
Posted
技术标签:
【中文标题】获取所有路线,Laravel 4【英文标题】:Get all routes, Laravel 4 【发布时间】:2013-04-17 04:53:00 【问题描述】:我现在想要的只是使用一个控制器来处理我的 laravel 4 应用程序的每个请求。问题是 *** 或其他地方的解决方案都不适合我。
这就是我目前拥有的:
Route::any('(.*)', function()
return View::make('hello');
);
现在在浏览页面时,我每次都会收到错误提示:
Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException
希望有人能帮帮我!
【问题讨论】:
【参考方案1】:正则表达式被设置为需求,而不是直接在路由中。
Route::any('all', function($uri)
return View::make('hello');
)->where('all', '.*');
【讨论】:
谢谢。如何在这里使用例如“TestController”而不是直接返回视图? 同样的交易,但不是使用闭包作为第二个参数,而是Route::any ('all', 'TestController@method');
不需要any
,也可以是get
、post
或其他HTTP动词(等等:如果你想捕捉所有get
而不是任何其他动词)。
这仅适用于它出现的单个片段。如果我去 site.com/asdadasd 很好,但 site.com/asdadasd/adadssa 不起作用。有什么想法吗?
这个post也可以帮助理解这个解决方案【参考方案2】:
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');
);
【讨论】:
【参考方案3】:扩展#Jason Lewis 的回答以重定向到根页面:
Route::any('all', function($uri)
return Redirect::to('/');
)->where('all', '.*');
【讨论】:
以上是关于获取所有路线,Laravel 4的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 5.3 和智威汤逊。对于所有获取路线,我都会收到 "error": "token_not_provided"