続き: Lumen のミドルウェアを使用した応答ヘッダーの設定
Lumen で次の例外ハンドラーを使用すると、(メソッドの 3 番目のパラメーター) の既定値が trueX-Powered-By
であっても、ヘッダーが複製されます (以下のように手動で設定しても機能しません)。$replace
header()
public function render($request, Exception $e)
{
if ($e instanceof \Symfony\Component\HttpKernel\Exception\NotFoundHttpException)
{
return response(view('not-found'), 404)->header('X-Powered-By', env('APP_NAME')."/".env('APP_VER'), true);
}
return parent::render($e);
}
応答ヘッダー:
HTTP/1.0 404 Not Found
Date: Sat, 23 May 2015 08:05:13 GMT
Server: Apache
X-Powered-By: PHP/5.6.3
Cache-Control: no-cache
X-Powered-By: AppName/1.0.0
Connection: close
Content-Type: text/html; charset=UTF-8
機能する唯一のことは、へheader_remove('X-Powered-By')
の呼び出しの直前に使用すること->header
です。$replace
それに応じてパラメーターが設定されているため、これを行う必要はありません。
X-Powered-By
ヘッダーの重複を防ぐためのより良い方法はありますか?