Dalam melakukan installasi atau mengembangkan sesuatu menggunakan Framework CodeIgniter sudah pasti mengatur base URL. Base URL sendiri digunakan untuk mengakses atau menghasilkan sebuah URL dasar berdasarkan konfigurasi yang telah ditentukan pada config.php. Apabila base URL belum dilakukan konfigurasi maka base URL akan memiliki sebuah konfigurasi seperti ini.

$config['base_url'] = '';

Jika masih dalam proses atau tahap pengembangan yang dilakukan secara localhost, biasanya konfigurasinya kurang lebih seperti ini.

$config['base_url'] = 'http://localhost/bayusapp/';

Namun, apabila sebuah project telah selesai dikerjaan lalu akan diupload ke sebuah server atau hosting maka harus mengganti base URL tersebut. Maka dalam kesempatan kali ini akan membahas suatu konfigurasi khusus untuk base URL agar bisa dinamis saat masih dalam tahap pengerjaan atau pengembangan dan setelah selesai akan diupload ke server atau hosting tidak merubah konfigurasi base URL tersebut.

$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']);

Untuk penjelasan pada konfigurasi diatas sebagai berikut:

  1. Pada kode baris pertama akan melakukan pengecekan atau mengetahui protokolnya menggunakan http atau https. Apabila http maka akan menggunakan http untuk base URL begitu juga dengan https akan melakukan hal yang sama.
  2. Pada kode baris kedua akan menggabungkan hasil dari kode baris pertama dengan jenis host yang digunakan. Yang dimaksud host disini adalah host server seperti Apache, Nginx, dll. Maka nanti hasil dari base URL sampai pada baris kedua akan menghasilkan seperti http://http_host jika menggunakan http, apabila menggunakan https maka akan seperti https://http_host.
  3. Pada baris terakhir akan menggabungkan hasil dari kode baris pertama dan kedua lalu digabungkan dengan baris terakhir ini.

Setelah melakukan konfigurasi diatas saat masih dalam proses pengembangan maupun sudah diupload ke server atau hosting tidak perlu melakukan konfigurasi ulang untuk base URL. Semoga bermanfaat