碰到一個問題,網站上線后,需要移除Cache-Control,就是下面這個東西

方案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,
],
