Sejak beberapa bulan terakhir, saya tergabung dalam sebuah platform belajar yang berfokus pada pemrograman PHP. Pada platform belajar ini saya banyak belajar tentang pemrograman PHP dan aneka hal yang berhubungan dengan PHP. Selain itu, banyak sekali muncul pertanyaan menarik yang bisa dijadikan materi untuk dipelajari. Salah satunya adalah tentang penggunaan .htaccess dalam framework CodeIgniter. Tujuan penggunaan .htaccess ini adalah untuk menghilangkan text index.php di url project CodeIgniter, sehingga URL project CodeIgniter menjadi lebih mudah dibaca dan juga SEO FRIENDLY.

File .htaccess (kependekan dari 'hypertext access') adalah file konfigurasi server terdistribusi. Ini artinya file ini mengkonfigurasi server hanya di direktori tempat file .htaccess berada. File .htaccess memungkinkan kita untuk mengatur konfigurasi server untuk direktori tertentu. Ini bisa berupa direktori root untuk situs web kita atau direktori lainnya seperti /images atau /downloads. Nah dalam postingan ini kita akan coba gunakan file .htaccess ini untuk menghilangkan text index.php di url.

Misalkan kamu bertanya, text index.php di url itu yang mana sih? Pernah ga kamu perhatikan URL saat kamu mengakses controller di dalam CodeIgniter? Pasti pernah dong ya... Nah, saat mengakses itu kita akan panggil dengan mengetikan URL:

http://www.alamat_web.com/index.php/my_class/my_function

URL CodeIgniter - Tutorial Codeigniter: Menghilangkan index.php Dengan htaccess

Bisa kita lihat dalam URL itu ada text index.php. Nah, di sinilah kita pakai .htaccess untuk menghilangkan text index.php di dalam URL aplikasi web yang kita kembangkan. Biasanya ini digunakan untuk mempercantik URL dari aplikasi web itu sendiri. Kenapa? Karena pemandangan yang cantik itu biasanya membuat orang tertarik bukan? Dan jikalau sudah tertarik biasanya orang itu dengan senang hati akan mengunjunginya. Ya, tepatnya supaya pengunjung website kita meningkat dan lebih mudah terindeks oleh mesin pencari seperti Google, Yahoo dan aneka mesin pencari lainnya.

Lalu, bagaimana cara menghilangkan index.php dalam CodeIgniter dengan file .htaccess? Try this out ya!

Step 1 - Membuat file .htaccess

Pertama kita buat file dengan nama .htaccess, lalu ketik sintaks kode di bawah ini:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

Simpan di dalam folder CodeIgniter (di direktori root).

direktori CodeIgniter - Tutorial Codeigniter: Menghilangkan index.php Dengan htaccess

Step 2 - edit konfigurasi project

Selanjutnya kita buka file config.php yang ada pada direktori application/config/config.php.

config.php

Lalu kita cek sekitar line 38, ada baris sintaks seperti di bawah:


$config['index_page'] = 'index.php'; 

Kita hapus index.php, sehingga valuenya menjadi:

$config['index_page'] = ''; 

Nah kalau sudah selesai, kita simpan lagi file config.php dengan menekan tombol Ctrl+s.

Step 3 - Uji coba

Sekarang kita coba run aplikasi CI di browser. Ketik di address bar alamat http://localhost/ci3/welcome/.

Run CodeIgniter - Tutorial Codeigniter: Menghilangkan index.php Dengan htaccess

Seperti yang terlihat pada gambar di atas, aplikasi web bisa kita run tanpa menuliskan index.php.

Kesimpulan

Gimana? Mudah bukan? Sekarang url aplikasi codeigniter kamu sudah terlihat lebih 'cantik'. Seperti alasan kebanyakan orang, mempercantik url itu bertujuan untuk meningkatkan pengunjung website mereka dan lebih mudah terindeks dalam mesin pencari, sehingga lebih mudah tampil di halaman terdepan mesin pencari saat orang-orang membutuhkan. Semoga pengunjung website kamu juga bertambah.

Semoga bermanfaat.. Semoga semakin semangat belajarnya! ^^

Gun Gun Priatna
Software Engineer, Content Writer and Founder qadrlabs.com
Komentar

blog comments powered by Disqus