Cara Menghapus Ekstensi File dengan .htaccess (Redirect & Rewrite)

Inti Konfigurasi .htaccess untuk Menghapus Ekstensi

Untuk menghapus ekstensi file (seperti .php atau .html) dari URL agar terlihat lebih bersih (clean URL), Anda harus menggunakan modul mod_rewrite pada server Apache. Proses ini dilakukan dengan memetakan permintaan URL tanpa ekstensi ke file fisik yang memiliki ekstensi di server.

Berikut adalah kode standar yang harus ditempatkan di dalam file .htaccess pada direktori root situs Anda:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^/]+)/$ $1.php [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^/]+)$ $1.php [L]

Tabel Perbandingan Metode Redirect

MetodeFungsiKelebihan
Remove ExtensionMenyembunyikan .php/.htmlURL lebih SEO-friendly
301 RedirectPindah permanenMenjaga otoritas SEO (Link Juice)
302 RedirectPindah sementaraBerguna saat maintenance

Langkah-Langkah Implementasi

  1. Pastikan modul mod_rewrite aktif di server Apache Anda.
  2. Buat atau edit file bernama .htaccess di folder utama (public_html).
  3. Tempelkan kode di atas. Jika Anda menggunakan file .html, ganti semua teks .php pada kode menjadi .html.
  4. Simpan file dan lakukan pengujian dengan mengakses URL tanpa ekstensi di browser.

Troubleshooting Lapangan

Jika terjadi error 500 (Internal Server Error), pastikan sintaks tidak terpotong dan server Anda mengizinkan penggunaan AllowOverride All pada konfigurasi VirtualHost atau httpd.conf. Selalu lakukan backup file .htaccess asli sebelum melakukan perubahan untuk menghindari kegagalan akses situs.