CodeIgniter: Rewrite URL untuk menghapus index.php

CodeIgniter: Rewrite URL untuk menghapus index.php

345
5
SHARE

url

URL Rewrite berfungsi untuk mengubah URL anda sesuai dengan keinginan anda. Ini berguna ketika anda ingin menjadikan URL anda agar lebih mudah dibaca oleh user ataupun untuk lebih memudahkan google mengindex website anda.

Contoh terdapat URL:
http://www.produkmakanan.com/index.php?id=2&cat=3
ini bisa dirubah menjadi:
http://www.produkmakanan.com/2-3-makanan-sehat.html
atau
http://www.produkmakanan.com/2/3/makanan-sehat.html
ataupun sesuai keinginan anda.

Pada CI URL sudah user friendly. Tapi untuk index.php pada URL, ini tidak bisa langsung dihilangkan.
Misal: http://www.domain.com/index.php/contact
menjadi: http://www.domain.com/contact

Berikut langkah untuk menghilangkan index.php:

Langkah #1:
– Buka file config.php pada folder application/config/.
– Replace isi string pada bagian $config[‘index_page’] = ‘index.php’; menjadi $config[‘index_page’] = ”;
*isi string dihapus atau dikosongkan.

Langkah #2:
– Buat file “.httacces” pada direktori web anda.
– Isikan kode berikut:

RewriteEngine on
RewriteCond $1 !^(index.php|resources|robots .txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

– Simpan

Langkah #3:
– Halaman anda malah tidak muncul atau muncul header halaman 404. Pastikan konfigurasi apache anda mengijinkan untuk merewrite URL.
– Buka file httpd.conf pada folder xamppapacheconf menggunakan text editor.
– Hilangkan tanda kres ‘#‘ pada awal code: LoadModule rewrite_module modules/mod_rewrite.so
– Untuk memudahkan pencarian, gunakan find atau ctrl+f dan isikan rewrite_module. Kemudian hilangkan tanda kres ‘#‘…
Restart apache anda.

Langkah #4: -> Jika masih terdapat error.

  • Buka file config.php pada folder application/config/.
  • Replace isi string pada bagian $config[‘uri_protocol’] = ‘REQUEST_URI’; menjadi $config[‘uri_protocol’] = ‘AUTO’;
  • Atau ubah sebaliknya $config[‘uri_protocol’] = ‘AUTO’; menjadi $config[‘uri_protocol’] = ‘REQUEST_URI‘;

*Pada beberapa server, kadang berbeda untuk uri_protocol ini. Gunakan ‘AUTO‘ atau ‘REQUEST_URI‘.

Langkah #5:
Tes hasil kerja… buka web anda tanpa menggunakan index.php.

5 COMMENTS

  1. sepertinya untuk langkah 4, terbalik mas
    harusnya $config[‘uri_protocol’]=’AUTO’ diganti $config[‘uri_protocol’]=’REQUEST_URI’
    kebetulan saya sudah mencoba dan berhasil

    • O iya mas. saya kurang nambahin untuk mengubah sebaliknya.
      dari beberapa server emang beda kayaknya. di saya ‘AUTO’ bisa jalan. di temen saya ‘REQUEST_URI’ baru bisa jalan.

      Makasih infonya mas. 🙂
      saya mau update dulu…

LEAVE A REPLY