Solusi Error SHTML pada Apache: Panduan Konfigurasi Server

Penyebab Utama Error SHTML pada Apache

Error SHTML (Server Side Includes) pada Apache biasanya terjadi karena modul mod_include belum diaktifkan atau konfigurasi direktori tidak mengizinkan eksekusi perintah SSI. SHTML adalah file HTML yang berisi instruksi server-side yang diproses oleh Apache sebelum dikirim ke browser. Jika server tidak dikonfigurasi untuk memproses file ini, Apache akan menampilkan error 500 atau sekadar menampilkan kode mentah.

Langkah Perbaikan Teknis

Untuk memperbaiki masalah ini, Anda harus memastikan modul aktif dan direktori memiliki izin eksekusi yang tepat. Berikut adalah langkah-langkah teknis yang harus dilakukan:

  1. Aktifkan Modul: Pastikan mod_include sudah dimuat di file konfigurasi utama Apache (httpd.conf atau apache2.conf).
  2. Konfigurasi Direktori: Tambahkan opsi Includes pada direktori yang dituju.
  3. Set Handler: Pastikan Apache mengenali ekstensi .shtml sebagai file yang harus diproses oleh server.

Tabel Konfigurasi Apache

ParameterNilai/PerintahFungsi
ModulLoadModule include_moduleMengaktifkan fitur SSI
Options+IncludesMengizinkan eksekusi SSI
AddHandlerserver-parsed .shtmlMemproses file .shtml

Implementasi Kode

Anda dapat menambahkan konfigurasi berikut ke dalam file .htaccess di direktori root situs Anda untuk mengaktifkan dukungan SHTML tanpa harus mengubah konfigurasi utama server:

Options +Includes
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

Troubleshooting Lapangan

Jika setelah konfigurasi di atas error masih muncul, periksa hal berikut:

  • Log Error: Periksa file error_log Apache untuk melihat pesan spesifik (misalnya: 'Options FollowSymLinks or SymLinksIfOwnerMatch is off').
  • Izin File: Pastikan file .shtml memiliki izin baca (read) yang benar oleh user web server (biasanya www-data atau apache).
  • Sintaks SSI: Pastikan tag SSI Anda benar, contoh: <!--#include virtual="header.html" -->. Kesalahan penulisan tag akan menyebabkan error pada sisi server.