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 +Includesyang diblokir oleh konfigurasi utama server (AllowOverrideharus mengizinkan opsiOptions). - 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.