HOTLINE

(0275) 2974 127

CHAT WA 24/7
0859-60000-390 (Sales)
0852-8969-9009 (Support)
Blog

Cara Menggunakan .htaccess di CodeIgniter Dengan Mudah

Dalam pengembangan aplikasi web menggunakan CodeIgniter, pengaturan URL yang bersih dan keamanan server adalah hal yang penting. Salah satu cara untuk mencapai ini adalah dengan menggunakan file .htaccess. File ini adalah konfigurasi berbasis Apache yang dapat mengatur perilaku server di direktori tertentu, tanpa mengubah pengaturan utama Apache. Dengan .htaccess, developer dapat menghapus index.php dari URL, membuat URL lebih SEO-friendly, mengatur redirect, serta meningkatkan keamanan aplikasi.

Apa Itu .htaccess?

.htaccess adalah file konfigurasi yang ditempatkan di server web Apache. Fungsinya meliputi:

  • Mengatur redirect URL

  • Menghapus index.php dari URL CodeIgniter

  • Melindungi folder dengan password

  • Mengaktifkan caching dan kompresi file

  • Membatasi akses berdasarkan IP

Dalam konteks CodeIgniter, .htaccess biasanya digunakan untuk membuat URL lebih bersih dan mempermudah routing, sehingga aplikasi lebih profesional dan mudah diindeks mesin pencari.

Default .htaccess CodeIgniter

1. CodeIgniter 3

Pada CI3, file .htaccess biasanya diletakkan di root folder. Contoh default .htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

# Hilangkan index.php dari URL
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>

Penjelasan:

  • RewriteEngine On → Mengaktifkan modul rewrite.

  • RewriteBase / → Menentukan base URL.

  • RewriteCond %{REQUEST_FILENAME} !-f → Melewatkan file yang ada.

  • RewriteCond %{REQUEST_FILENAME} !-d → Melewatkan folder yang ada.

  • RewriteRule ^(.*)$ index.php/$1 [L] → Semua request diarahkan ke index.php.

2. CodeIgniter 4

CI4 menggunakan struktur folder baru, sehingga .htaccess diletakkan di folder public/.

<IfModule mod_rewrite.c>
Options -Indexes
RewriteEngine On
RewriteBase /

# Pastikan file dan folder tetap dapat diakses
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

# Arahkan semua request ke index.php
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

Perbedaan utama:

  • CI4 menekankan folder public sebagai entry point.

  • Options -Indexes mencegah listing direktori.

  • Struktur routing lebih fleksibel sesuai standar CI4.

Manfaat Menggunakan .htaccess di CodeIgniter

  1. Menghilangkan index.php
    URL lebih bersih dan profesional. Contoh:

    https://domain.com/blog → lebih baik daripada → https://domain.com/index.php/blog
  2. Meningkatkan SEO
    URL bersih lebih mudah diindeks oleh mesin pencari.

  3. Keamanan

    • Memblokir akses folder tertentu.

    • Mencegah directory listing.

    • Bisa membatasi akses IP tertentu.

  4. Redirect dan Rewrite
    Bisa mengarahkan URL lama ke URL baru tanpa mengubah kode aplikasi.

Tips Praktis Menggunakan .htaccess di CodeIgniter

  • Selalu backup .htaccess sebelum mengubah konfigurasi.

  • Gunakan RewriteBase / sesuai lokasi aplikasi.

  • Uji konfigurasi pada server lokal sebelum deploy.

  • Kombinasikan dengan HTTPS dan HSTS untuk keamanan tambahan.

  • Untuk shared hosting, pastikan mod_rewrite Apache aktif.

Kesimpulan

File .htaccess adalah alat penting dalam pengembangan aplikasi CodeIgniter, baik versi 3 maupun 4. Dengan pengaturan yang tepat, URL aplikasi menjadi bersih, SEO-friendly, dan server lebih aman. Meskipun sederhana, penggunaan .htaccess dapat memberikan dampak besar terhadap performa dan profesionalitas website. Selalu sesuaikan konfigurasi .htaccess dengan versi CodeIgniter dan kebutuhan server agar hasilnya optimal.

5/5 - (1 vote)
Fitri Ana

Recent Posts

Langkah-Langkah Yang Harus Dilakukan saat Jadi Korban Doxing

Hallo sobat Hosteko di artikel sebelumnya Hosteko sudah membahas apa itu Doxing, cara kerja doxing,…

2 hours ago

Panduan Lengkap Cara Install CSF di Linux untuk Meningkatkan Keamanan Server

Keamanan server merupakan salah satu aspek terpenting dalam pengelolaan infrastruktur berbasis Linux. Berbagai ancaman seperti…

3 hours ago

Langkah-Langkah Menginstal Node.js serta Deploy Aplikasi pada CentOS 7

Memilih bahasa pemrograman harus disesuaikan dengan kebutuhan tim, klien, dan perusahaan. Ada dua pilihan yang…

21 hours ago

Apa Itu Proxy? Definisi, Cara Mendapatkan, dan Cara Setting di Android

Proxy adalah alat yang berfungsi sebagai perantara antara pengguna dan internet untuk meningkatkan privasi dan…

22 hours ago

Belajar MikroTik CHR: Panduan Penggunaan Level Dasar

Mikrotik sering digunakan agar pengelolaan jaringan lebih mudah. Selain memiliki fitur yang lengkap, GUI (Graphic…

22 hours ago

Tutorial Plugin WhatsApp Chat untuk Website: Dari Definisi Hingga Setting

Di era digital saat ini, komunikasi yang cepat dan efisien menjadi salah satu kunci utama…

1 day ago