【问题标题】:how to custom error page from response 403 from .htaccess如何从 .htaccess 的响应 403 中自定义错误页面
【发布时间】:2017-12-08 08:37:28
【问题描述】:

我使用 .htaccess 文件保护 .env 文件,使用这个脚本:

<Files .env>
    Order allow,deny
    Deny from all
</Files>

如果我使用 url 访问此文件

https://myapp.mydomain.com/.env

我收到此页面错误: 禁止

You don't have permission to access /.env on this server.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.

如何自定义这个页面错误?

我尝试像这样覆盖 App\Exceptions\Handler.php:

public function render($request, Exception $exception)
    {
        if($e instanceof HttpException && $e->getStatusCode() == 403){
        return abort(403,'Access Denied');
        }   
        return parent::render($request, $exception);
    }

但没有结果

【问题讨论】:

  • 您应该将您的 webroot 更改为 public。将 Laravel 的根目录作为 webroot 是不安全的。
  • 对不起,如果我不知道,如何将我的 webroot 更改为公共,我将我的应用程序定位到子域 (myapp.mydomain.com),我只能写入 public_html/myapp,如何解决这个问题
  • 这与部署在子域上的方式一样吗?
  • 是的,是一样的

标签: laravel .htaccess laravel-5.3


【解决方案1】:

您可以通过将适当命名的刀片添加到文件夹 resources/views/errors/ 来在 Laravel 中设置自定义错误页面,因此对于自定义 403 将文件 403.blade.php 添加到上述文件夹中。在刀片内部,您可以使用(来自文档)$exceptiondd($exception) 来获取消息的句柄(超过 likley -&gt;getMessage()

Documentation

【讨论】:

    猜你喜欢
    • 2012-01-31
    • 1970-01-01
    • 2016-05-31
    • 1970-01-01
    • 2013-06-08
    • 2020-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多