Apache SHTML Handler: Cara Kerja, Konfigurasi, dan SSI

Apache SHTML Handler adalah mekanisme dalam web server Apache yang bertugas memproses file dengan ekstensi .shtml atau .html yang menggunakan instruksi Server Side Includes (SSI). Handler ini mengaktifkan modul mod_include untuk mengevaluasi direktif khusus sebelum halaman dikirimkan ke peramban, memungkinkan pengembang menyisipkan konten dari file lain, menampilkan tanggal, atau menjalankan variabel lingkungan tanpa memerlukan bahasa pemrograman server yang berat seperti PHP.

Secara teknis, ketika peramban meminta file berformat SHTML, Apache tidak langsung mengirimkan file tersebut mentah-mentah. Apache membaca isi file, mencari tag khusus SSI (seperti <!--#include-->), menggantinya dengan konten yang dirujuk, lalu merender hasilnya ke pengguna. Proses ini berjalan secara real-time di sisi server (Server-Side Rendering ringan).

Konfigurasi Dasar Apache SHTML Handler

Agar server Apache mengenali dan memproses file SHTML dengan benar, modul mod_include harus aktif dan konfigurasi handler harus didaftarkan di dalam file konfigurasi utama (seperti httpd.conf) atau melalui berkas .htaccess di direktori root situs web.

# Mengaktifkan modul dan handler di Apache
AddType text/html .shtml
AddHandler server-parsed .shtml
Options +Includes

Tabel berikut merinci direktif konfigurasi utama yang berkaitan langsung dengan operasional SHTML Handler pada server web Apache:

Direktif Apache Fungsi Utama Keterangan Penggunaan
AddHandler server-parsed .shtml Memberitahu Apache untuk memparsing file .shtml menggunakan SSI. Wajib diaktifkan agar tag SSI terbaca.
Options +Includes Mengizinkan eksekusi SSI pada direktori tertentu. Dapat diletakkan di httpd.conf atau .htaccess.
XBitHack on Memerintahkan Apache memparsing file biasa (.html) jika bit eksekusi file tersebut aktif. Alternatif agar file .html biasa bisa menjalankan SSI.

Contoh Penggunaan Sintaks Server Side Includes (SSI)

Sintaks SSI ditulis dalam bentuk komentar HTML khusus agar tidak merusak tampilan visual jika dilihat mentah, namun tetap dieksekusi oleh Apache SHTML Handler. Berikut adalah contoh penerapan tag SSI yang paling sering digunakan dalam pengembangan web statis modular:

<!-- Menyisipkan file navigasi atau footer -->
<!--#include virtual="/includes/header.html" -->

<!-- Menampilkan tanggal modifikasi terakhir file -->
<p>Terakhir diperbarui: <!--#flastmod file="index.shtml" --></p>

<!-- Menampilkan variabel lingkungan server -->
<p>Alamat IP Anda: <!--#echo var="REMOTE_ADDR" --></p>

Langkah-Langkah Mengaktifkan SHTML di cPanel

Bagi administrator yang menggunakan panel kontrol hosting seperti cPanel, pengaturan handler dapat dilakukan tanpa menyunting berkas konfigurasi secara manual melalui terminal:

  1. Masuk ke dasbor cPanel akun hosting Anda.
  2. Cari dan buka menu Apache Handlers di dalam bagian Advanced.
  3. Pada bagian Add, masukkan handler dengan rincian berikut: Handler diisi server-parsed dan Extension diisi .shtml.
  4. Klik tombol Add untuk menyimpan pengaturan.
  5. Pastikan berkas .htaccess di direktori publik Anda telah memiliki baris Options +Includes jika diperlukan.

Troubleshooting Masalah Umum SHTML

Kendala yang sering muncul saat mengimplementasikan Apache SHTML Handler adalah konten SSI yang tidak tampil atau halaman malah menghasilkan galat Internal Server Error (500).

  • File hanya menampilkan teks kosong atau tag SSI terlihat utuh: Hal ini terjadi karena handler belum terdaftar atau direktif Options +Includes belum aktif di direktori tersebut. Periksa kembali konfigurasi .htaccess.
  • Error 500 (Internal Server Error): Biasanya disebabkan oleh konflik sintaks di dalam berkas konfigurasi Apache atau penggunaan direktif SSI yang tidak diizinkan oleh level keamanan server (lihat pengaturan SSI珩/IncludesNoExec).
  • Masalah Jalur (Path): Pastikan parameter virtual merujuk pada path relatif terhadap root dokumen server, sedangkan parameter file merujuk pada path relatif terhadap direktori file yang sedang dieksekusi.