Cara Konfigurasi AddHandler Server-Parsed untuk SSI di Apache

Direktif AddHandler server-parsed .shtml digunakan pada web server Apache untuk mengaktifkan pemrosesan Server Side Includes (SSI) pada file dengan ekstensi tertentu, umumnya .shtml atau .html. Ketika handler ini aktif, server akan memindai isi file untuk mencari direktif SSI (seperti <!--#include-->) sebelum mengirimkannya ke browser pengunjung.

Penggunaan SSI sangat efisien untuk menyertakan elemen berulang pada halaman web statis—seperti header, footer, atau navigasi—tanpa harus menggunakan bahasa pemrograman sisi server yang kompleks seperti PHP. Artikel ini membahas rincian teknis, tabel parameter, langkah konfigurasi, serta penanganan kendala umum di lapangan.

Mekanisme Kerja Server-Parsed Handler

Secara default, web server Apache tidak memeriksa setiap file statis untuk mencari instruksi SSI guna menghemat sumber daya CPU. Dengan menambahkan handler server-parsed, Anda menginstruksikan modul mod_include untuk menguraikan (parse) file yang diminta oleh klien.

Komponen Keterangan Teknis
Modul Apache mod_include.c
Direktif Handler AddHandler server-parsed [ekstensi]
Ekstensi Umum .shtml, .shtm, .html
Fungsi Utama Mengeksekusi perintah SSI di sisi server sebelum rendering HTML

Langkah Konfigurasi Melalui File .htaccess

Cara paling umum untuk mengaktifkan fitur ini pada layanan shared hosting adalah melalui file konfigurasi .htaccess di direktori root situs web Anda.

1. Pastikan Modul Aktif

Pastikan modul mod_include telah dimuat oleh server Apache Anda. Pada server mandiri (VPS/Dedicated), Anda dapat mengaktifkannya via terminal:

sudo a2enmod include
sudo systemctl restart apache2

2. Tambahkan Baris Kode ke .htaccess

Buka atau buat file .htaccess di direktori utama Anda, lalu masukkan blok kode berikut:

<IfModule mod_include.c>
    AddHandler server-parsed .shtml .html
    Options +Includes
</IfModule>

Catatan Penting: Menambahkan ekstensi .html pada server-parsed akan memaksa server memindai seluruh file HTML standar. Hal ini dapat meningkatkan beban CPU secara signifikan jika traffic situs Anda sangat tinggi.

Contoh Penggunaan Sintaks SSI

Setelah handler diaktifkan, Anda dapat menyisipkan file eksternal (seperti footer atau menu) langsung di dalam dokumen Anda menggunakan sintaks berikut:

<!--#include virtual="/includes/footer.html" -->

Troubleshooting dan Kendala Umum

Jika instruksi SSI tidak berfungsi dan file ditampilkan mentah tanpa dieksekusi, periksa beberapa hal berikut:

  • Kesalahan 500 Internal Server Error: Biasanya disebabkan oleh direktif Options +Includes yang diblokir oleh konfigurasi utama server (AllowOverride harus mengizinkan opsi Options).
  • Izin File (Permissions): Pastikan file yang disawit (included) memiliki izin baca yang valid oleh pengguna web server (misalnya 644).
  • Sintaks Salah: Pastikan komentar SSI ditulis persis dengan format <!--#... --> tanpa spasi berlebih yang merusak parser.