Bagi para pengembang web, khususnya yang menggunakan server web Apache, file .htaccess
adalah alat yang sangat penting. File konfigurasi ini sering kali disembunyikan karena merupakan file sistem, tetapi fungsinya krusial untuk mengatur perilaku situs web. Anda bisa menemukan file ini pada berbagai CMS (Content Management System) dan framework, yang isinya disesuaikan dengan kebutuhan masing-masing platform.
.htaccess
pada CMS
Secara umum, file .htaccess
pada CMS berfungsi untuk mengaktifkan URL yang ramah bagi SEO (SEO-friendly URL). Tanpa file ini, URL situs web Anda akan terlihat seperti:
contohwebsite.com/index.php?modul=artikel&id=123
Dengan .htaccess
, URL tersebut bisa diubah menjadi format yang lebih bersih dan mudah dibaca oleh manusia maupun mesin pencari, seperti:
contohwebsite.com/artikel/judul-artikel-anda
Proses pengubahan ini disebut "URL Rewriting" dan diatur oleh modul server mod_rewrite
.
.htaccess
WordPress berfungsi untuk memastikan bahwa semua URL yang tidak mengarah ke file atau direktori fisik akan dialihkan ke file index.php
. Ini memungkinkan WordPress untuk mengelola semua permintaan halaman, termasuk postingan, kategori, dan tag, sehingga URL-nya tetap bersih dan terstruktur.
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
File .htaccess
pada Joomla! lebih kompleks. Selain mengaktifkan URL yang ramah SEO, file ini juga berisi aturan untuk meningkatkan keamanan dengan memblokir upaya eksploitasi umum, seperti injeksi base64_encode
atau manipulasi variabel global melalui URL.
# Begin - Rewrite rules to block out some common exploits. # [...] # End - Rewrite rules to block out some common exploits. # [...] # Begin - Joomla! core SEF Section. # [...] # End - Joomla! core SEF Section.
Untuk OpenCart, file .htaccess
fokus pada tiga hal: pengalihan URL yang ramah SEO, pencegahan daftar direktori, dan pembatasan akses langsung ke file-file sensitif seperti file template (.tpl
) dan log. File ini juga menyediakan contoh konfigurasi PHP tambahan yang bisa diaktifkan jika diperlukan, seperti mematikan register_globals
atau mengatur ukuran maksimum upload file.
# SEO URL Settings RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
Lokomedia, sebagai salah satu CMS lokal, menggunakan .htaccess
untuk mengonversi URL dinamis (dengan parameter id
, module
, dll.) menjadi URL statis yang lebih mudah dibaca. Setiap jenis halaman, seperti berita, galeri, atau agenda, memiliki aturan pengalihan spesifiknya sendiri.
RewriteRule ^galeri-(.*)\.html$ zoom.php?id=$1 [L] RewriteRule ^berita-(.*)-(.*)\.html$ media.php?module=detailberita&id=$1 [L]
Kehati-hatian: Mengedit file .htaccess
harus dilakukan dengan sangat hati-hati. Satu kesalahan kecil dapat menyebabkan "Internal Server Error 500" dan membuat seluruh situs tidak dapat diakses.
Fungsi Khusus: Setiap CMS memiliki aturan .htaccess
yang unik, yang disesuaikan dengan arsitektur dan kebutuhan masing-masing. Memahami isi file ini dapat membantu Anda mendiagnosis masalah atau melakukan kustomisasi lebih lanjut pada situs Anda.
Salin dan Unggah: Jika Anda membuat file .htaccess
baru, simpan sebagai htaccess.txt
terlebih dahulu, unggah ke server, lalu ganti namanya menjadi .htaccess
. Ini untuk menghindari masalah karena beberapa sistem operasi tidak mengizinkan pembuatan file dengan nama yang diawali dengan titik.