Saat bekerja dengan Laravel dan membuat link eksternal, mungkin kita akan menghadapi masalah di mana Laravel secara otomatis menambahkan base URL (seperti http://127.0.0.1:8000
) di awal link. Misalnya, jika kita mencoba membuat link ke http://abc.com
, Laravel bisa saja mengubahnya menjadi http://127.0.0.1:8000/http://abc.com
.
Pada template Blade Laravel, penggunaan URL eksternal seperti http://abc.com
dalam atribut href
seharusnya bekerja tanpa masalah. Namun, Laravel terkadang salah mengartikan URL tersebut dan memperlakukannya sebagai link relatif, sehingga menyebabkan base URL dari aplikasi Anda ditambahkan di awal link eksternal.
Sebagai contoh, pada template Blade Anda:
<a href="{{ $button->weblink }}">Kunjungi Situs</a>
Jika $button->weblink
berisi http://abc.com
, Laravel bisa saja menghasilkan link seperti ini:
http://127.0.0.1:8000/http://abc.com
Solusinya sangat sederhana, cukup dengan menambahkan string 'https://' sebelum variabel maka secara otomatis link eksternal tadi akan dibaca independen seperti ini:
<a href="{{ 'https://'. $button->weblink }}">Kunjungi Situs</a>
Link ini akan terbaca https://abc.com
tanpa tambahan base URL lagi.
Sumber:
Can't force laravel to href link should be from root