Konfigurasi SSI di .htaccess untuk Apache Web Server

Konfigurasi Server Side Includes (SSI) melalui file .htaccess memungkinkan server web Apache memproses direktif SSI di dalam file HTML standar tanpa harus mengubah ekstensi file menjadi .shtml. Langkah utama untuk mengaktifkan fitur ini melibatkan pengaturan handler dan opsi eksekusi skrip di dalam direktori terkait.

Untuk mengaktifkan SSI pada file berekstensi .html atau .htm, tambahkan baris kode konfigurasi Apache berikut ke dalam file .htaccess di direktori root situs web Anda.

# Mengaktifkan eksekusi SSI untuk file HTML dan SHTML
AddType text/html .html
AddType text/html .shtml
AddHandler server-parsed .html
AddHandler server-parsed .shtml

# Mengizinkan eksekusi perintah SSI
Options +Includes

# Opsional: Mengatur direktif tambahan
SSIEndTag "-->"
SSIStartTag "<!--#"

Tabel Parameter Konfigurasi SSI Apache

Direktif Apache Fungsi Utama Catatan Keamanan
Options +Includes Mengizinkan server untuk memproses perintah SSI dalam direktori tersebut. Wajib diaktifkan agar perintah seperti #include berfungsi.
AddHandler server-parsed Memberitahu Apache untuk mengurai file tertentu menggunakan modul mod_include. Dapat membebani server jika diterapkan pada seluruh file HTML tanpa kebutuhan mendesak.
Options +IncludesNOEXEC Mengaktifkan SSI tetapi menonaktifkan perintah #exec (eksekusi shell). Sangat disarankan untuk mencegah celah keamanan injeksi perintah sistem.

Langkah Penerapan dan Pengujian

  1. Pastikan modul Apache mod_include sudah aktif di server Anda. Pada Ubuntu/Debian, jalankan perintah terminal sudo a2enmod include lalu restart Apache dengan sudo systemctl restart apache2.
  2. Buka atau buat file .htaccess di direktori publik (seperti public_html).
  3. Masukkan blok kode konfigurasi handler dan options di atas, lalu simpan file.
  4. Buat file uji coba bernama test.html dan masukkan sintaks SSI standar untuk menampilkan tanggal: <!--#echo var="DATE_LOCAL" -->.
  5. Akses file tersebut melalui browser. Jika tanggal saat ini tampil dengan benar, konfigurasi SSI berhasil diterapkan.

Troubleshooting Masalah Umum

Jika konfigurasi tidak berjalan dan halaman hanya menampilkan teks tag SSI mentah atau memicu Internal Server Error (500), periksa beberapa hal berikut:

  • Error 500: Biasanya disebabkan oleh konfigurasi Options +Includes yang diblokir oleh file induk httpd.conf atau apache2.conf. Pastikan direktif AllowOverride pada direktori utama mengizinkan penggunaan Options (misal: AllowOverride All).
  • Tag Tidak Dieksekusi: Pastikan ekstensi file Anda sudah didaftarkan pada AddHandler server-parsed di dalam file .htaccess.