获取所有路线,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,也可以是getpost或其他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 4

Laravel 5.3 和智威汤逊。对于所有获取路线,我都会收到 "error": "token_not_provided"

Laravel:通过指定名称获取路线

php 获取Laravel的可用路线

Laravel:捕获路线中“/”之后的所有内容

Laravel 通过方法获取路由