Codeigniter 3 - Menghilangkan Index.php dan Menyembunyikan Nama Controller

Kukuh Setiawan 29 Agustus 2018

Codeigniter 3 - Menghilangkan Index.php dan Menyembunyikan Nama Controller

Halo sobat codepolitan, saya menyapa kalian dimanapun berada. Semoga masih semangat dalam belajar koding, dalam tutorial ini saya rasa sangat bagus untuk disharingkan karena sangat bermanfaat terutama dalam kaitannya dengan Search Engine Optimation. URL pada web memang menjadi salah satu syarat dalam pencarian di google, google akan mengindex nama URI dan judul besar pada sebuah website.

Untuk itu pada tutorial ini saya coba menjelaskan bagaimana cara menyingkat URI di codeigniter sehingga terlihat lebih rapi dan optimal. Cara yang pertama yaitu menghilangkan index.php, cara ini saya yakin sudah banyak yang tahu namun tidak ada salahnya saya mengingkatkan karena kebanyakan kasus web tidak bisa diakses karena ini.

Menghilangkan index.php

Idenya seperti ini, yang awalnya tampilan pada address bar browser kalian namasitus.com/index.php/nama_controller menjadi namasitus.com/nama_controller. Caranya seperti ini :

  1. buka config.php pada folderproject/application/config/config.php
  2. ganti $config['index_page'] = 'index.php'; menjadi $config['index_page'] = ''; atau hapus tulisan index.php
  3. buat .htaccess di root utama isikan dengan kode berikut. RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L]
  4. Kemudian refresh kembali browser kalian panggil namasitus.com/nama_controller. Maka secara otomatis akan bisa dibuka,

Menyembunyikan nama controller

Cara ini dapat saya artikan mempersingkat URI dengan memanggil function dari controller saja, jadi nama controllernya tidak perlu ditampilkan. Dalam memanggil function rumusnya kan seperti ini namasitus.com/index.php/nama_controller/nama_function kalau kita menggunakan cara 1 dan 2 ini maka akan menjadi namasitus.com/nama_controller. Bagaimana, lebih singkat kan? caranya sebagai berikut :

  1. misal yang mau disembunyikan controller "Welcome"
  2. letakkan codingan ini di application/routes.php $route['(:any)'] = 'welcome/$1';

Dengan demikian, selamat kalian sudah berhasil memangkas URI yang panjang sekali menjadi lebih simpel dan ringkas.

Baca juga : Tutorial Codeigniter 3 Dalam Satu Jam

Sebagai bonus, saya akan memberikan tips lagi untuk mengubah base_url menyesuaikan nama situs kita dimanapun kita menguploadnya, jadi tidak perlu mengganti nama base_url tiap kali pindah dari offline ke online ataupun pindah ke nama situs lainnya.

Buka file config.php cari $config['base_url'] = ''; replace dengan $config['base_url'] = "http://".$_SERVER['HTTP_HOST']; $config['base_url'] .= preg_replace('@/+$@','',dirname($_SERVER['SCRIPT_NAME'])).'/';

Supaya lebih mempermudah lagi saya membuatnya berupa video, selamat mempraktikkan.

ok sekian dulu tutorial kali ini, see you di next tutorial. Pasti bermanfaat, kalau suka silahkan dishare :)