Membuat base URL dinamis sesuai ip atau domain server pada CodeIgniter
Saat pertama kali membuat aplikasi dengan CodeIgniter 3 atau saat pertama menginstal CI 3, hal pertama yang kita lakukan adalah melakukan konfigurasi base_url pada file config.php. Config ini berguna untuk membuat URL default yang mengakses resource yang berada pada direktori root. Misalnya https://www.lokerbumiayu.id/, http://localhost/latihanweb/, dll. Semua ini di setting pada file config yaitu pada baris base_url.
Secara default konfigurasi base_url CodeIgniter versi 3 adalah seperti ini:
$config['base_url'] = '';
Lihat file config.php baris ke 26
Ketika kita ingin membuat sebuah aplikasi misalnya SIPENA, maka kita perlu mengubah konfigurasi tersebut menjadi:
$config['base_url'] = 'http://localhost/sipena/';
Apa yang terjadi Jika aplikasi tersebut kita upload pada hosting/server dengan IP berbeda?
ya error. Hal ini disebabkan karena CodeIgniter 3 mengakses localhost yang harusnya mengakses domain/ip server hosting atau isalnya Nama Domain.
Untuk mengatasi ini kita perlu mengatur ulang base_url tersebut sesuai domain/ip server yang kita gunakan contoh Ketika jaringan itu local di suatu kantor maka menggunakan IP Server misal http://172.20.10.1 atau jika di Hosting dengan nama domain misal https://www.lokerbumiayu.id/ Maka setiap ada perubahan harus di setting ulang base_urlnya..
Hal ini tentu sedikit merepotkan bukan ya?
Maka dari itu kita perlu sedikit ada perubahan agar base_url tersebut bisa dinamis dan otomatis menyesuaikan domain/ip server tanpa perlu kita ubah secara manual. Jadi secara default akan mendeteksi sendiri IP/Domain server itu sendiri.
Untuk mengatur konfigurasi base_url agar menjadi dinamis, silakan ganti konfigurasi default CodeIgniter 3 yang awalnya:
$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']);
Taraa… Base url sudah otomatis mendeteksi IP/Domain Server. Dengan cara di atas kita tidak perlu mengubah konfigurasi base_url secara manual apabila berpindah/ganti domain/ip server yang kita gunakan jadi penginstalan aplikasi akan lebih mudah apalagi Ketika anda mengerjakan proyek untuk seseorang yang belum memahami pemrograman.
Sekian terimakasih
Penulis: Ade Suryadi
Tanggal: 27 September 2021