Error 500 Internal Server Error saat membuka file berformat .shtml di XAMPP umumnya disebabkan oleh modul Server Side Includes (SSI) pada web server Apache yang belum aktif atau adanya kesalahan sintaks pada direktif SSI di dalam file tersebut. XAMPP secara default tidak mengaktifkan modul SSI untuk ekstensi .shtml secara penuh pada konfigurasi standarnya.
Untuk mengatasi masalah ini secara permanen, Anda perlu melakukan konfigurasi pada file httpd.conf Apache dan memastikan modul yang dibutuhkan telah dimuat dengan benar. Berikut adalah langkah-langkah teknis perbaikannya.
Langkah-Langkah Perbaikan Error 500 Shtml di XAMPP
1. Mengaktifkan Modul SSI di httpd.conf
Buka control panel XAMPP, klik tombol Config pada baris Apache, lalu pilih httpd.conf. Cari baris kode berikut menggunakan kombinasi tombol Ctrl + F:
#LoadModule include_module modules/mod_include.so
Hapus tanda pagar (#) di awal baris tersebut sehingga menjadi:
LoadModule include_module modules/mod_include.so
2. Mengizinkan Eksekusi SSI pada Direktori Root
Masih di dalam file httpd.conf, cari blok konfigurasi direktori proyek Anda (biasanya mengarah ke C:/xampp/htdocs). Cari bagian <Directory "C:/xampp/htdocs"> dan ubah parameter Options serta AddOutputFilter agar mengizinkan SSI.
<Directory "C:/xampp/htdocs">
Options Indexes FollowSymLinks Includes
AllowOverride All
Require all granted
</Directory>
Selanjutnya, cari baris berikut di dalam httpd.conf dan pastikan ekstensi .shtml diaktifkan untuk filter INCLUDES:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
3. Restart Apache
Simpan file httpd.conf yang telah diedit. Kembali ke XAMPP Control Panel, klik tombol Stop pada Apache, lalu klik Start kembali untuk memuat ulang konfigurasi baru.
Tabel Diagnostik Penyebab Error 500 pada XAMPP
| Penyebab Umum | Gejala | Solusi Perbaikan |
|---|---|---|
Modul mod_include Non-aktif |
File .shtml memicu Error 500, file .php normal. |
Aktifkan LoadModule include_module di httpd.conf. |
Direktif Options Includes Kurang |
Server menolak mengeksekusi tag SSI di dalam file. | Tambahkan kata Includes pada blok <Directory>. |
| Kesalahan Penulisan Tag SSI | Error 500 hanya muncul pada halaman tertentu saja. | Periksa kembali sintaks tag seperti <!--#include virtual="file.html" -->. |
Tips Troubleshooting Lapangan
Jika setelah melakukan langkah di atas error masih terjadi, buka file log error Apache melalui XAMPP Control Panel (klik tombol Logs > apache_error.log). Baca baris paling bawah untuk melihat detail pesan kesalahan yang spesifik, karena Error 500 adalah kode umum yang bisa menyembunyikan masalah sintaks ringan pada konfigurasi server.