[Laravel] Hướng dẫn cấu hình chuyển hướng http:// sang https://

  • Thursday 01/07/2021

Trường hợp sử dụng .htaccess để cấu hình chuyển hướng từ http:// sang https:// không hoạt động (theo hướng dẫn tại đây) thì có thể thực hiện theo cách sau:

Bước 1: [Laravel] Create Https Protocol Middleware

Path: app/Http/Middleware/HttpsProtocol.php

<?php
namespace App\Http\Middleware;

use Closure;

class HttpsProtocol {

    public function handle($request, Closure $next)
    {
            if (!$request->secure()) {
               return redirect()->secure($request->getRequestUri());
            }

            return $next($request); 
    }
}
?>

Bước 2: [Laravel] Register this middleware in Kernel.php

Path: app/Http/Kernel.php

Thêm dòng: \App\Http\Middleware\HttpsProtocol::class, trong phần middleware Groups

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\HttpsProtocol::class,
        ],