Membuat Dinamic Base URL dan Clean URL pada CodeIgniter 3.X

Di tulisan ini saya akan berbagi cara membuat Base URL yang bersih dan dinamis pada CodeIgniter 3.X. Berikut penjelasannya:

1.Setting Dinamic Base URL

Secara umum, kita harus membuat base url secara manual seperti contoh:
$config['base_url']=http://localhost/namaproject;
. Namun, dengan Base URL yang dinamis akan memudahkan kita untuk tidak setting secara manual alias otomatis. :) Caranya teman-teman membuka root
application/config/config.php
. Lalu gantilah kode
$config['base_url']
seperti 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']);
Penafsiran dari kode-kode diatas menurut penulis sebagai berikut:
  1. Pada kode pertama akan ditanya apakah protokolnya menggunakan http atau https? Jika https maka gunakan https, jika tidak maka gunakan http.
  2. Pada kode kedua, hasil dari kode pertama akan ditempelkan dengan jenis host nya seperti https://http_host atau http://http_host. Http_host itu mirip localhost atau host server seperti Apache, Nginx atau LiteSpeed.
  3. Pada kode ketiga, hasil dari kode pertama dan kedua akan ditempel pada kode ketiga. Seperti https://http_host/script_name atau http://http_host/script_name.

2. Setting Clean URL

Secara umum, ketika menjalankan program dengan CodeIgniter di browser, maka kita harus mengetik ini di URL kita seperti di bawah ini:
http://localhost/namaproject/index.php/namacontroller/namamethod
. Untuk menghilangkan index.php tersebut, maka kita harus menghilangkan kode yang semula
$config['index_page']='index.php';
menjadi
$config['index_page']='';
Kemudian kita membuat file .htaccess di root project kita (saya harap teman-teman sudah mengenal htaccess dan sudah disediakan di SekolahKoding). Berikut kode .httaccess nya:
<IfModule mod_rewrite.c>
  Options -Indexes

  RewriteEngine On
  RewriteCond $1 !^(index\\.php|resources|robots\\.txt)
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.+)$ index.php?/$1 [L,QSA]
</IfModule>
   Semoga menambah semangat teman-teman dan bermanfaat.


Sumber: https://www.sekolahkoding.com/forum/Membuat-Dinamic-Base-URL-dan-Clean-URL-pada-CodeIgniter-3X

Tidak ada komentar:

Diberdayakan oleh Blogger.