Cara Mengatasi Internal Server Error pada File SHTML

Penyebab Utama Internal Server Error pada SHTML

Internal Server Error (HTTP 500) pada file dengan ekstensi .shtml biasanya terjadi karena kesalahan konfigurasi pada server Apache, khususnya terkait modul mod_include atau aturan yang salah di dalam file .htaccess. SHTML adalah file HTML yang menyertakan Server Side Includes (SSI). Jika server tidak diizinkan mengeksekusi perintah SSI atau terdapat sintaks yang rusak, server akan menghentikan proses dan memicu error 500.

Langkah Perbaikan Teknis

Ikuti urutan langkah berikut untuk mendiagnosis dan memperbaiki masalah tersebut:

LangkahTindakanTujuan
1Cek Error LogMelihat pesan spesifik di file error_log server.
2Verifikasi .htaccessMenghapus atau memperbaiki baris perintah yang salah.
3Periksa Izin FileMemastikan permission file tidak lebih dari 644.
4Aktifkan SSIMemastikan modul mod_include aktif di server.

1. Memperbaiki File .htaccess

Seringkali, error disebabkan oleh perintah yang tidak didukung di .htaccess. Coba ganti isi file tersebut dengan kode standar berikut untuk mengaktifkan SSI:

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

Jika setelah menambahkan kode ini error tetap muncul, kemungkinan besar server Anda tidak mengizinkan penggunaan Options di .htaccess. Hubungi penyedia hosting Anda untuk menanyakan apakah AllowOverride Options diaktifkan.

2. Memeriksa Izin Akses (File Permissions)

File SHTML yang memiliki izin akses terlalu longgar (misalnya 777) sering kali ditolak oleh server demi alasan keamanan. Gunakan FTP client atau File Manager di cPanel untuk mengubah izin file menjadi 644.

3. Validasi Sintaks SSI

Kesalahan penulisan tag SSI dapat menyebabkan server crash. Pastikan tag Anda mengikuti format yang benar:

<!--#include virtual="header.shtml" -->

Pastikan file yang dipanggil (header.shtml) benar-benar ada di direktori yang ditentukan. Jika file tersebut tidak ditemukan, server mungkin akan melempar error 500.

4. Cek Error Log Server

Ini adalah cara paling akurat. Akses cPanel Anda, buka menu Errors atau gunakan SSH untuk melihat log terakhir:

tail -n 50 /var/log/apache2/error.log

Cari baris yang mengandung kata 'SSI' atau 'Options'. Pesan tersebut akan memberi tahu Anda baris mana yang menyebabkan kegagalan eksekusi.