Error server terkait file berformat .shtml (Server Side Includes) umumnya disebabkan oleh konfigurasi Apache yang belum mengizinkan eksekusi perintah SSI atau kesalahan sintaks dalam direktif file HTML. Perbaikan utama melibatkan pengaktifan modul include_module pada server, penambahan konfigurasi handler di berkas .htaccess, serta pemeriksaan izin akses file.
Format SHTML sering digunakan untuk menyertakan dokumen lain (seperti header atau footer) ke dalam halaman web secara dinamis. Ketika server mengalami kendala, browser biasanya menampilkan pesan seperti Internal Server Error (500) atau gagal memuat bagian halaman yang disisipkan melalui perintah SSI.
Tabel Matriks Penyebab dan Solusi Error SHTML
| Gejala Error | Penyebab Utama | Solusi Teknis |
|---|---|---|
| HTTP 500 Internal Server Error | Modul SSI Apache belum aktif atau salah sintaks .htaccess |
Aktifkan modul mod_include dan perbaiki aturan handler |
| Perintah SSI tampil sebagai teks mentah | Server tidak mengenali ekstensi .shtml sebagai file SSI |
Tambahkan AddHandler dan AddOutputFilter di konfigurasi web |
| Pesan [an error occurred while processing this directive] | File yang dipanggil via #include tidak ditemukan atau salah path |
Periksa kembali path relatif atau absolut pada kode SSI |
Langkah-Langkah Teknis Perbaikan
1. Mengaktifkan Modul SSI di Apache
Pastikan modul include telah aktif pada server web Apache Anda. Melalui terminal SSH server VPS, jalankan perintah berikut:
sudo a2enmod include
sudo systemctl restart apache2
2. Konfigurasi Berkas .htaccess
Jika Anda menggunakan shared hosting atau tidak memiliki akses root, tambahkan baris kode berikut ke dalam berkas .htaccess di direktori root website Anda untuk mengizinkan parsing SSI:
Options +Includes
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
3. Memeriksa Sintaks Perintah SSI pada File SHTML
Pastikan penulisan tag SSI di dalam file SHTML sudah benar. Format standar untuk menyertakan file adalah sebagai berikut:
<!--#include virtual="/header.html" -->
Perhatikan bahwa penggunaan virtual merujuk pada path relatif terhadap root dokumen, sedangkan file merujuk pada path relatif terhadap file yang sedang dibaca.
Tips Troubleshooting Lapangan
Jika setelah melakukan langkah di atas error masih terjadi, periksa berkas log error Apache (biasanya terletak di /var/log/apache2/error.log atau melalui cPanel Error Log) untuk melihat detail spesifik penyebab kegagalan eksekusi skrip.