Laravel移除Cache-Control

碰到一个问题,网站上线后,需要移除Cache-Control,就是下面这个东西

995338-20191017163704284-469157954.png

方案1 失败

参考网址:https://stackoverflow.com/questions/51821563/laravel-5-how-to-set-cache-control-http-header-globally

修改 RouteServiceProvider.php

protected function mapWebRoutes()
{
    Route::middleware('web')
        ->middleware('cache.headers:private;max_age=3600') // added this line
        ->namespace($this->namespace)
        ->group(base_path('routes/web.php'));
}
方案2 失败

修改.htaccess文件。添加如下内容
注意:需要apache开启mod_headers,否则可能出现500错误

  <IfModule mod_headers.c>
        Header unset Cache-Control
    </IfModule>
方案3 成功

新建中间件

php artisan make:middleware CheckResponse

修改handle方法如下

    public function handle($request, Closure $next) {
        $response = $next($request);
        $response->headers->remove('Cache-Control');
        return $response;
    }

注册中间件CheckResponse。修改kernel.php

    protected $middlewareGroups = [
        'web' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            // \Illuminate\Session\Middleware\AuthenticateSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            \App\Http\Middleware\VerifyCsrfToken::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
            \App\Http\Middleware\CheckResponse::class,
        ],
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值