【问题标题】:Get all routes, Laravel 4获取所有路线,Laravel 4
【发布时间】:2013-04-17 04:53:00
【问题描述】:

我现在想要的只是使用一个控制器来处理我的 laravel 4 应用程序的每个请求。问题是 stackoverflow 或其他地方的解决方案都不适合我。

这就是我目前拥有的:

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

现在在浏览页面时,我每次都会收到错误提示:

Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException

希望有人能帮帮我!

【问题讨论】:

    标签: php routing laravel laravel-4


    【解决方案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', '.*');
      

      【讨论】:

        猜你喜欢
        • 2016-05-09
        • 2015-02-08
        • 2015-07-08
        • 2020-07-20
        • 2014-12-19
        • 2014-01-10
        • 2013-05-07
        • 1970-01-01
        相关资源
        最近更新 更多