Laravel 5.0 自定义 404 不使用中间件

Wou*_*ers 5 middleware http-status-code-404 laravel

我正在使用中间件来解析模板的输出。这适用于所有页面。

但是,当我想显示 404(为此有一个自定义页面)时,它不会将其视为 http 请求(这就是我的想法),因为它没有通过中间件。

我的问题是,如何让所有请求都通过中间件。

小智 8

对于像我这样在 2020 年因为这种奇怪的行为而花费数小时的人来说......

\n

现在 Laravel 中有一个新工具 \xc2\xab Fallback Routes \xc2\xbb。

\n

将其添加到/routes/web.php

\n
Route::fallback(function () {\n    return view("404"); // template should exists\n});\n
Run Code Online (Sandbox Code Playgroud)\n

之后所有请求都将通过中间件。

\n


Bjö*_*örn 6

错误页面不通过routes.php。

Kernel.php从移动中间件$routeMiddleware数组$middleware的数组。

此数组中的中间件将在每个请求上运行(在 5.1 中测试)。

显示中间件和 404 页面的图像

  • 此方法不能始终使用,因为某些中间件需要当时尚不可用的 Web 路由特定数据。 (2认同)