Penyebab Utama Error Server Side Includes (SSI)
Error pada Server Side Includes (SSI) umumnya terjadi karena konfigurasi server Apache yang belum mengizinkan eksekusi perintah SSI atau kesalahan sintaks pada file .shtml. SSI adalah mekanisme sederhana untuk menyisipkan konten dinamis ke dalam file HTML statis. Jika server tidak dikonfigurasi untuk memproses direktif <!--#include ... -->, browser akan menampilkan teks mentah atau error 500 Internal Server Error.
Langkah Perbaikan Teknis
Untuk mengaktifkan SSI, Anda harus memastikan modul mod_include aktif dan direktif Options +Includes telah didefinisikan dalam file konfigurasi server atau .htaccess.
1. Mengaktifkan Modul Apache
Pastikan modul sudah dimuat di server Anda dengan menjalankan perintah berikut melalui terminal:
sudo a2enmod include
sudo systemctl restart apache22. Konfigurasi .htaccess
Tambahkan baris berikut ke dalam file .htaccess di direktori root situs Anda untuk mengizinkan eksekusi SSI pada file dengan ekstensi .shtml atau .html:
Options +Includes
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml3. Validasi Sintaks SSI
Pastikan sintaks yang Anda gunakan benar. Contoh penyisipan file yang benar:
<!--#include virtual="/header.html" -->| Pesan Error | Penyebab Umum | Solusi |
|---|---|---|
| 500 Internal Server Error | Konfigurasi Options tidak diizinkan | Tambahkan 'Options +Includes' di .htaccess |
| Teks mentah muncul | Modul mod_include belum aktif | Aktifkan modul via a2enmod |
| File tidak ditemukan | Path salah (bukan root-relative) | Gunakan path absolut atau virtual |
Troubleshooting Lapangan
Jika error masih berlanjut, periksa file log error Apache (biasanya di /var/log/apache2/error.log). Seringkali, masalah disebabkan oleh izin akses file (file permissions) yang tidak mengizinkan server membaca file yang akan disisipkan. Pastikan user www-data memiliki hak akses baca (read) pada file target.