【问题标题】:Laravel 5.7 error 404 handling page locationLaravel 5.7 错误 404 处理页面位置
【发布时间】:2019-03-27 18:14:18
【问题描述】:

我在 Laravel 5.7 中找不到错误 404 页面的位置,请帮忙。 这是错误页面照片:https://imgur.com/a/Fs89isK

【问题讨论】:

  • 根\resources\views\errors\404.blade.php

标签: php laravel error-handling


【解决方案1】:

你可以在这里找到它:

vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/404.blade.php

不过,您不应该直接编辑此文件。如果您想添加自定义错误页面,只需在资源/视图中添加一个错误文件夹并根据需要创建您自己的 404.blade.php。它将被用来代替 Laravel 的。

【讨论】:

  • 不知道为什么不使用 cmets 投票,但所有 Laravel 默认异常和异常的扩展视图都位于此处:my_project_folder/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/跨度>
  • 您没有解释如何修改它。只是抛出一个路径让 OP 认为他可以更改此文件并且一切正常,但实际上,他不能,因为文件将在每个composer installcomposer update 重新加载。您的回答应该只是评论,而不是回答。 @ilubis 答案更完整。
  • 你是对的,应该解释一下,但问题是关于路径的,这就是我回答的问题,我现在将编辑以添加正确的操作以在此处执行
【解决方案2】:

其实你可以在app/Exceptions/Handler.php覆盖它

并设置代码如下所示。

use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;


class Handler extends ExceptionHandler
{
if ($this->isHttpException($exception)) {
        if ($exception instanceof NotFoundHttpException) {
            return response()->view('error_404_path', [], 404);
            // abort(404);
        }
        return $this->renderHttpException($exception);
    }
}

【讨论】:

  • 如果类中不允许使用语句,则应将其包含在函数中。
【解决方案3】:

随着更新对框架的每次更改,您将覆盖任何核心功能。 在您的views 目录中添加一个errors 文件夹,并放置带有您要修改的错误号的刀片文件。

例如:

resources->views->errors->404.blade.php

将显示在 404 响应中。顺便说一句,如果你喜欢(像我一样)新闻错误 svg,你可以在 public->svg 文件夹中找到。

【讨论】:

    【解决方案4】:

    如果您运行 php artisan vendor:publish,您可以看到可以发布以供编辑的供应商/包文件列表。

    在列表中你会看到 laravel-errors

    输入相应的数字然后你就会看到。

    复制目录 [/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views] 到 [/resources/views/errors] 发布完成。

    然后您可以编辑所有默认错误页面,包括 404.blade.php 500.blade.php 等。

    【讨论】:

      猜你喜欢
      • 2013-12-08
      • 2019-03-15
      • 2013-09-19
      • 1970-01-01
      • 1970-01-01
      • 2018-10-14
      • 2016-06-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多