[Laravel8]特定のURLをメンテナンスモード時でも見れるようにしたい

やりたいこと

Laravel8でメンテナンスモード中に特定のURLにアクセスできるようにしたい。

実装

App\Http\Middleware\PreventRequestsDuringMaintenanceの$exceptにメンテナンスモード中にアクセスできるようにしたいURLを指定します。

 

App\Http\Middleware\PreventRequestsDuringMaintenance

<?php
namespace App\Http\Middleware;

use Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance as Middleware;

class PreventRequestsDuringMaintenance extends Middleware
{
 protected $except = [
    // 任意のURL
    // 例
    'add',
    'setting/*'
 ];
}

小話

Laravel8では、Laravel7以前と比べてメンテナンスモードの実装が少し変わりました。

Laravel8では、App\Http\Middleware\PreventRequestsDuringMaintenanceが使われているのに対し、

Laravel7では、App\Http\Middleware\CheckForMaintenanceModeが使われています。

Laravel8でCheckForMaintenanceModeはどこに行ったかというと、Illuminate\Foundation\Http\Middleware\CheckForMaintenanceModeとして細々と存在しています。

中身は

<?php
namespace Illuminate\Foundation\Http\Middleware;

class CheckForMaintenanceMode extends PreventRequestsDuringMaintenance
{
 //
}

PreventRequestsDuringMaintenanceを継承しています。

 

以上!!!!!!!