Membuat base URL dinamis pada CodeIgniter
Saat kali pertama membuat aplikasi dengan CodeIgniter
, hal pertama yang kita lakukan adalah melakukan konfigurasi base_url
. Config ini berguna untuk menciptakan URL yang mengakses resource yang berada pada direktori root aplikasi.
Secara default, konfigurasi base_url
pada CodeIgniter versi 3 adalah seperti ini:
$config['base_url'] = '';
Ketika kita ingin membuat sebuah aplikasi misalnya siakad, maka kita perlu mengubah konfigurasi tersebut menjadi:
$config['base_url'] = 'http://localhost/siakad/';
Apa yang terjadi bila aplikasi tersebut kita upload pada hosting/server?
Error!, ya error. Hal ini disebabkan karena CodeIgniter mengakses localhost yang harusnya mengakses domain atau ip server hosting.
Untuk mengatasi ini kita perlu mengatur ulang base_url
tersebut sesuai domain/ip server yang kita gunakan.
Hal ini sedikit merepotkan bukan?
Maka dari itu kita perlu sedikit trik agar base_url
tersebut bisa dinamis dan otomatis menyesuaikan domain/ip server tanpa perlu kita ubah secara manual.
Untuk mengatur konfigurasi base_url
agar menjadi dinamis, silakan ganti konfigurasi default CodeIgniter:
$config['base_url'] = '';
Ganti dengan konfigurasi di bawah ini:
$config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http");
$config['base_url'] .= "://" . $_SERVER['HTTP_HOST'];
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']), "", $_SERVER['SCRIPT_NAME']);
Dengan cara di atas kita tidak perlu mengubah konfigurasi base_url
secara manual apabila berpindah/ganti domain/ip server yang kita gunakan.