【问题标题】:Laravel 5 - How do you handle missing routes? [duplicate]Laravel 5 - 你如何处理丢失的路线? [复制]
【发布时间】:2015-04-27 16:49:44
【问题描述】:

App::missing 不可用,我找不到app/Exceptions/Handler.php 它没有出现在我的应用目录中:


(来源:gyazo.com

我使用的是旧版本的 laravel 还是不完整的源?因为一切正常,但我希望将未知路由重定向到其他路由,例如 404 页面或重定向到主页。

【问题讨论】:

  • @watcher 请阅读问题,我那里没有 app/Exceptions/Handler.php
  • 您是否查看了文件中的自述文件以查看其版本,然后访问网站并将您的版本与可下载版本进行了比较?
  • 自述文件中没有说版本。
  • 查看你的目录结构,你有一个 Laravel 4 应用程序,而不是一个 Laravel 5 应用程序。
  • 马丁,你是对的! @BenBeri L4 还是 L5?

标签: php laravel


【解决方案1】:

您可以在您的 routes.php 末尾定义一个“通用”或“捕获所有”路由来处理与您的任何路由不匹配的任何请求。然后显示带有“缺少页面”消息的视图。

Route::any('/', function()
{
    // your redirect code goes here
});

【讨论】:

  • 投反对票。不是一个好主意。应该设置一个适当的处理程序/视图来发送正确的 HTTP 标头 (404)。
  • 是的,我完全同意。这就是任何开发人员在“您的代码”中应该做的事情。我将把它留给开发人员来决定他们在那里需要什么。这只是捕获然后处理对不存在的路由的请求的解决方案。
  • @MartinBean 虽然我原则上同意,但我不会反对这一点,因为它对某些方法有效,例如您希望在不提供 404 的情况下重定向到主页的单页应用程序。
猜你喜欢
  • 2015-07-17
  • 2010-11-25
  • 1970-01-01
  • 2015-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-19
相关资源
最近更新 更多