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:
- Masuk ke dasbor cPanel akun hosting Anda.
- Cari dan buka menu Apache Handlers di dalam bagian Advanced.
- Pada bagian Add, masukkan handler dengan rincian berikut: Handler diisi
server-parseddan Extension diisi.shtml. - Klik tombol Add untuk menyimpan pengaturan.
- Pastikan berkas
.htaccessdi direktori publik Anda telah memiliki barisOptions +Includesjika 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 +Includesbelum 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
virtualmerujuk pada path relatif terhadap root dokumen server, sedangkan parameterfilemerujuk pada path relatif terhadap direktori file yang sedang dieksekusi.