Redirect Url Laravel ke HTTPS

Tidak ada alasan jika website kita tidak lagi https. Kenapa, mungkin banyak orang yang berfikir. "Oh.. It's not free" Tetapi Let's Encrypt telah menjawabnya, mau bilang apa lagi kita ? Ha ? Gadak sih. Tetapi yang ada kita harus membuat website kita jadi https, Setelah reasearch di google. Ternyata banyak sekali pertanyaan tentang ini. Saya aja gak nyangka. Dari yang saya lihat ada yang menyuruh memakai .htaccess seperti.

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://domain.com/$1 [R,L]

Tapi apalah daya, itu sangat tidak direkomendasikan, kenapa, terkadang jika kita memaka itu, sewaktu - waktu route kita tidak terbaca, jadinya redirect ke domain.com/index.php. Sementara ini jelas bertolak belakang dengan Laravel. Oleh karna itu ada lagi yang menyuruh kita memakai Middleware. Tetapi apalah daya, banyak nya alasan error dari yang berkomentar, salah satu nya yang saya record

ERR_TOO_MANY_REDIRECTS

Hahahahaha. Ok sebenarnya itu sangat simple. Jika kita lihat file yang ada di project laravel, pastinya AppServiceProvider file pasti ada. Anda tidak tahu dimana, nih path nya LaravelProject/app/Providers/AppServiceProvider.php. Simple, pada method boot(), anda bisa tambah kan seperti.

public function boot()
{
    if (!\App::environment('local')) {
      \URL::forceSchema('https');
    }
    if (!\Request::secure() && env('APP_ENV') === 'production') {
        return redirect()->secure(\Request::getRequestUri());
    }
}

Tetapi jika anda sedang menggunakan laravel 5.4, mungkin itu akan failed, karna forceSchema tidak ada lagi. Tapi santai aja, semua itu ada jawabannya. Anda bisa ganti semua dengan ini.

public function boot()
{
    $this->app['request']->server->set('HTTPS', true);
}

Bahh. Selesai ? Iya itu saja, gadak lagi repot2.. Ok ini hanya sekedar tips yang mungkin bisa sangat membantu anda. Mungkin anda merasa. Ah tak jelas, Gagal juga kok. Gak ~ Hanya karna mungkin pada link hrefnya anda tidak membuat seperti.

<a href="{{ url('/') }}">Home

Coba lah buat seperti itu, pasti jalan. Gak jalan. Aduh bingung la saya. Karna itu yang saya lakukan di parsinta. Jika itu gagal, gak mungkin parsinta bisa. Betul gak.

Setelah itu, jika anda ingin websitenya begitu dikunjungi langsung otomatis ke https. Anda butuh meletak kan code berikut pada .htaccess tepat dalam public folder.

# Force SSL
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Finally I am Irsyad Thanks for reading see you on the other post.



Generic placeholder image
By Irsyad A. Panjaitan
I am error

Comments

Please login to leave a comment!