{"flag":true,"single":true,"pageTitle":"Laravel custom maintenance page dynamically","post":{"id":140,"user_id":"1","slug":"laravel-custom-maintenance-page-dynamically-dcoe","title":"Laravel custom maintenance page dynamically","body":"<p>With the help of this tutorial you can create custom laravel maintenance page. Its will show custom page to all routes but allow all <strong>admin\/*<\/strong><\/p>\r\n<p>1.create a middleware <strong>app\\Http\\Middleware\\CustomMaintenanceMiddleware.php<\/strong><\/p>\r\n<pre class=\"language-markup\"><code>&lt;?php\r\nnamespace App\\Http\\Middleware;\r\nuse Closure;\r\nuse Illuminate\\Http\\Request;\r\nclass CustomMaintenanceMiddleware\r\n{\r\n    public function checkIfAdmin(){\r\n        if (request()-&gt;is('admin') || request()-&gt;is('admin\/*')) {\r\n            return true;\r\n        }else{\r\n            return false;\r\n        }\r\n    }\r\n    public function handle(Request $request, Closure $next)\r\n    {\r\n        $is_maintence_mode = false;\r\n        if ($is_maintence_mode &amp;&amp; !$this-&gt;checkIfAdmin()) {\r\n            $data = $this-&gt;getDataFromDatabase();\r\n            return response()-&gt;view('errors.custom_maintenance', compact('data'), 503);\r\n        }\r\n\r\n         return $next($request);\r\n    }\r\n    private function getDataFromDatabase()\r\n    {\r\n         return [];\r\n    }\r\n}<\/code><\/pre>\r\n<p>2. Modify <strong>app\\Exceptions\\Handler.php<\/strong><\/p>\r\n<pre class=\"language-markup\"><code>&lt;?php\r\n\r\nnamespace App\\Exceptions;\r\n\r\nuse Illuminate\\Foundation\\Exceptions\\Handler as ExceptionHandler;\r\nuse App\\Http\\Middleware\\CustomMaintenanceMiddleware;\r\nuse Throwable;\r\nclass Handler extends ExceptionHandler\r\n{\r\n    protected $dontReport = [\r\n        \/\/\r\n    ];\r\n    public function render($request, Throwable $exception)\r\n    {\r\n        if ($this-&gt;isHttpException($exception)) {\r\n            if ($exception-&gt;getStatusCode() === 503 &amp;&amp; app()-&gt;isDownForMaintenance()) {\r\n                $middleware = new CustomMaintenanceMiddleware();\r\n                return $middleware-&gt;handle($request, function ($request) {\r\n                    return response('');\r\n                });\r\n            }\r\n        }\r\n        return parent::render($request, $exception);\r\n    }\r\n    protected $dontFlash = [\r\n        'current_password',\r\n        'password',\r\n        'password_confirmation',\r\n    ];\r\n    public function register()\r\n    {\r\n        $this-&gt;reportable(function (Throwable $e) {\r\n        });\r\n    }\r\n}<\/code><\/pre>\r\n<p>3. cretae a view <strong>Resources\\views\\errors\\custom_maintenance.blade.php<\/strong><\/p>\r\n<pre class=\"language-markup\"><code>Its custom page<\/code><\/pre>\r\n<p>4. Modify&nbsp;<strong>app\\Http\\Kernal.php<\/strong><\/p>\r\n<pre class=\"language-markup\"><code>protected $middlewareGroups = [\r\n        'web' =&gt; [\r\n            \\App\\Http\\Middleware\\CustomMaintenanceMiddleware::class\r\n        ],\r\n        'api' =&gt; [\r\n            'throttle:api',\r\n            \\Illuminate\\Routing\\Middleware\\SubstituteBindings::class,\r\n        ],\r\n    ];<\/code><\/pre>\r\n<p>&nbsp;<\/p>","category_id":"2","is_private":"0","created_at":"2023-05-07T02:12:37.000000Z","updated_at":"2023-05-07T02:12:37.000000Z","category":{"id":2,"user_id":"1","name":"Laravel Core","slug":"laravel-nhyt","parent_id":"1","created_at":"2023-03-14T03:58:27.000000Z","updated_at":"2023-03-20T11:30:50.000000Z"},"user":{"id":1,"name":"R GONDAL","email":"rizikmw@gmail.com","email_verified_at":null,"two_factor_confirmed_at":null,"current_team_id":"1","profile_photo_path":null,"created_at":"2023-03-12T10:49:33.000000Z","updated_at":"2025-01-10T12:59:00.000000Z","profile_photo_url":"https:\/\/ui-avatars.com\/api\/?name=R+G&color=7F9CF5&background=EBF4FF"}},"pageDesc":"With the help of this tutorial you can create custom laravel maintenance page. Its will show custom page to all routes but allow all admin\/* - Laravel custom maintenance page dynamically (Updated: May 7, 2023) - Read more about Laravel custom maintenance page dynamically at my programming site [SITE]","categories":[]}