Menghilangkan index.php dari URL di CodeIgniter adalah langkah penting untuk membuat URL aplikasi lebih bersih dan ramah pengguna. Berikut adalah panduan terbaru untuk melakukannya di CodeIgniter:


Langkah-Langkah Menghilangkan index.php di CodeIgniter

1. Pastikan Modul Rewrite Aktif di Server

  • Jika Anda menggunakan server Apache, pastikan modul mod_rewrite sudah aktif.
  • Aktifkan modul dengan menjalankan perintah berikut (jika Anda memiliki akses ke server):
    sudo a2enmod rewrite
    sudo service apache2 restart
    

2. Konfigurasi File .htaccess

  • Buat atau edit file .htaccess di root proyek CodeIgniter Anda.

  • Masukkan kode berikut:

    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteBase /
    
        # Mengarahkan semua permintaan ke file index.php
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)$ index.php/$1 [L]
    </IfModule>
    
  • Simpan file .htaccess di direktori utama proyek Anda.

3. Ubah Konfigurasi Base URL

  • Buka file app/Config/App.php di CodeIgniter 4 (atau application/config/config.php di CodeIgniter 3).
  • Temukan bagian baseURL dan sesuaikan dengan URL aplikasi Anda:
    public $baseURL = 'http://localhost/proyek-anda/';
    

4. Atur Index Page

  • Di file konfigurasi yang sama (App.php atau config.php), cari properti indexPage.
  • Ubah nilainya menjadi string kosong:
    public $indexPage = ''; // CodeIgniter 4
    
    atau
    $config['index_page'] = ''; // CodeIgniter 3
    

5. Periksa File Config Apache

  • Jika .htaccess tidak berfungsi, periksa konfigurasi Apache Anda:
    • Buka file konfigurasi Apache (misalnya 000-default.conf atau default.conf).
    • Pastikan direktori proyek Anda memiliki izin AllowOverride All seperti berikut:
      <Directory /var/www/html/proyek-anda>
          AllowOverride All
      </Directory>
      
    • Restart Apache setelah menyimpan perubahan:
      sudo service apache2 restart
      

6. Pengujian URL

  • Buka browser dan akses URL proyek Anda tanpa index.php.
  • Contoh:
    • Sebelumnya: http://localhost/proyek-anda/index.php/welcome
    • Setelah perubahan: http://localhost/proyek-anda/welcome

7. Cek Server Lainnya (Opsional)

  • Nginx: Jika Anda menggunakan Nginx, tambahkan aturan berikut di file konfigurasi server:
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    

Catatan Tambahan

  • Error 404 Setelah Konfigurasi?
    • Pastikan file .htaccess sudah berada di lokasi root dan server mendukung mod_rewrite.
  • Server Hosting Tidak Mendukung .htaccess?
    • Hubungi penyedia hosting Anda untuk mengaktifkan dukungan .htaccess.

Dengan mengikuti langkah-langkah ini, URL aplikasi CodeIgniter Anda akan lebih bersih tanpa index.php. Jika masih ada kendala, beri tahu saya, dan saya siap membantu! 😊

Iklan Webekspres