Apa Itu .htaccess? Fungsi, Cara Kerja, dan Contoh Penggunaannya

Pengantar

Jika Anda menggunakan hosting berbasis Apache, maka .htaccess adalah salah satu file terpenting yang wajib diketahui. File kecil ini dapat mengatur berbagai perilaku server mulai dari redirect, proteksi folder, keamanan, hingga optimasi website. Meski ukurannya kecil dan terlihat sederhana, kemampuan .htaccess sangat powerful dan fleksibel.

Dalam artikel ini, kita akan membahas apa itu .htaccess, bagaimana cara kerjanya, fungsi-fungsinya, contoh penggunaannya, hingga tips keamanan untuk menghindari error.

Apa Itu File .htaccess?

.htaccess (Hypertext Access) adalah file konfigurasi khusus pada server Apache yang memungkinkan Anda mengatur perilaku server pada level direktori. Dengan file ini, Anda bisa memberi instruksi spesifik kepada Apache tanpa harus mengedit file konfigurasi utama.

Kenapa File Ini Penting?

Karena .htaccess memungkinkan Anda:

  • Melakukan konfigurasi tanpa akses root / WHM
  • Mengatur aturan berbeda pada setiap direktori
  • Mengaktifkan fitur keamanan dan optimasi dengan cepat
  • Menerapkan redirect dan URL rewrite untuk keperluan SEO

Tanpa .htaccess, sebagian besar pengaturan hanya bisa dilakukan melalui httpd.conf, yang tentu tidak bisa diakses oleh pengguna shared hosting.

Lokasi Umum File .htaccess di Hosting

Biasanya .htaccess berada di:

  • /public_html/
  • Folder website seperti /public_html/domainanda.com/
  • Subfolder tertentu yang ingin dikonfigurasi
  • Jika tidak muncul, pastikan file hidden diaktifkan pada File Manager cPanel.

Cara Kerja .htaccess

  1. Bagaimana Apache Membaca File .htaccess
    Apache membaca .htaccess dari atas ke bawah, kemudian menjalankan setiap aturan sesuai urutan. Begitu ada aturan cocok, Apache langsung memproses instruksinya.
  2. Peran Direktori dan Aturan Hierarki
    1. .htaccess di /public_html/ berlaku untuk semua folder.
    2. .htaccess di /public_html/admin/ hanya berlaku untuk folder admin.
  3. Hubungan .htaccess dengan httpd.conf
    1. httpd.conf = konfigurasi global Apache (akses root diperlukan).
    2. .htaccess = konfigurasi lokal direktori (akses pengguna hosting).

Beberapa aturan bahkan perlu diaktifkan dulu di httpd.conf (misalnya AllowOverride All) agar .htaccess bisa berjalan.

Fungsi Utama .htaccess

Berikut fungsi paling populer yang sering digunakan:

  1. Redirect URL (301 & 302)
    Dipakai untuk memindahkan domain atau halaman:
    • 301: redirect permanen
    • 302: redirect sementara
  2. Rewrite URL (mod_rewrite)
    Memperindah URL seperti:
    website.com/?page=artikel → website.com/artikel

    Sangat penting untuk SEO dan struktur permalink WordPress.

  3. Password Protect Directory
    Melindungi folder dengan username + password menggunakan .htpasswd.
  4. Blokir IP Address
    Menghindari akses dari IP tertentu, biasanya untuk menangkal serangan.
  5. Custom Error Pages
    Membuat halaman error sendiri seperti:
    404 (Not Found), 403 (Forbidden), 500 (Server Error)
  6. Mengaktifkan / Menonaktifkan Directory Listing
    Untuk mencegah folder terbuka dan menampilkan isi file secara publik.
  7. Membatasi Akses Berdasarkan User-Agent / Bot
    Blokir bot tertentu yang dianggap spam atau menghabiskan bandwidth.

Contoh Konfigurasi .htaccess

  1. Redirect Domain Lama ke Baru
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^domainlama\.com$ [OR]
    RewriteCond %{HTTP_HOST} ^www\.domainlama\.com$
    RewriteRule ^(.*)$ https://domainbaru.com/$1 [R=301,L]
    
  2. Mengaktifkan mod_rewrite + Contoh Rewrite Rule
    RewriteEngine On
    RewriteRule ^artikel/([0-9]+)/?$ artikel.php?id=$1 [L]
    
  3. . Proteksi Folder dengan .htpasswd
    Di dalam .htaccess:
    AuthType Basic
    AuthName "Restricted Area"
    AuthUserFile /home/username/.htpasswd
    Require valid-user
    
    Isi file .htpasswd dibuat dengan hash password, misalnya:
    user1:$apr1$gJH8kfH2$9yu..sXTA12HwB8YoZ/0Q.
    
  4. Blokir IP Tertentu
    Order deny,allow
    Deny from 192.168.1.10
    Deny from 123.45.67.0/24
    Allow from all
    
  5. Custom Halaman Error
    ErrorDocument 404 /errors/404.html
    ErrorDocument 403 /errors/403.html
    ErrorDocument 500 /errors/500.html
    
  6. Menonaktifkan Hotlinking
    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^https://(www\.)?domainanda\.com/ [NC]
    RewriteRule \.(jpg|jpeg|png|gif)$ - [F]
    

Kesimpulan

File .htaccess adalah alat penting untuk mengatur keamanan, optimasi, dan perilaku server pada website berbasis Apache. Dengan memahami cara kerja dan contoh penggunaannya, Anda dapat mengelola website secara lebih fleksibel dan profesional.

Namun, jika Anda mengalami kesulitan dalam konfigurasi .htaccess atau terjadi error seperti 500 Internal Server Error, Anda tidak perlu khawatir tim support Plasawebhost siap membantu Anda menyelesaikannya dengan aman dan cepat.


Artikel Lain

WhatsApp Kami

Support : +6282138153600

Admin Finance : +6285191239466