Untuk mengaktifkan dan menjalankan file SHTML (Server Side Includes) di server web Apache menggunakan file konfigurasi .htaccess, Anda wajib menambahkan instruksi penanganan handler dan filter agar server mengenali ekstensi berkas tersebut. Secara default, Apache tidak selalu mengaktifkan pemrosesan SSI untuk semua direktori demi alasan keamanan dan performa.
Server Side Includes adalah bahasa scripting sisi server yang sangat sederhana yang memungkinkan Anda menyisipkan konten suatu file ke dalam file HTML lainnya. Melalui konfigurasi yang tepat di level direktori via .htaccess, Anda dapat menggunakan modul mod_include tanpa harus mengubah konfigurasi utama server di httpd.conf.
Langkah Teknis Mengaktifkan SHTML via .htaccess
Berikut adalah baris kode nyata yang harus Anda tempatkan di dalam file .htaccess pada root direktori website Anda untuk mengaktifkan parsing SSI dan mengeksekusi file berformat .shtml.
# Mengaktifkan Eksekusi Server Side Includes untuk file SHTML
AddType text/html .shtml
AddHandler server-parsed .shtml
Options +Includes
# Opsional: Mengizinkan SSI pada file HTML biasa (hati-hati terhadap performa)
# AddHandler server-parsed .html .htm
Tabel Parameter Konfigurasi .htaccess untuk SHTML
| Direktif / Sintaks | Modul Apache Terkait | Fungsi Utama |
|---|---|---|
AddType text/html .shtml |
mod_mime |
Memberitahu browser bahwa file ber-ekstensi .shtml adalah dokumen HTML. |
AddHandler server-parsed .shtml |
mod_include |
Memerintahkan Apache untuk mem-parsing file .shtml guna mencari direktif SSI. |
Options +Includes |
mod_core |
Memberikan izin (permission) agar SSI diizinkan berjalan di direktori tersebut. |
Contoh Penggunaan Tag SSI dalam File SHTML
Setelah konfigurasi .htaccess berhasil diterapkan, Anda dapat membuat file bernama index.shtml dan menyisipkan file lain (seperti header atau footer) menggunakan sintaks SSI standar berikut:
<!--#include virtual="/header.html" -->
<h1>Selamat Datang di Website Utama Kami</h1>
<p>Halaman ini menggunakan teknologi Server Side Includes.</p>
<!--#include virtual="/footer.html" -->
Troubleshooting Masalah Sering Terjadi
Jika setelah memasang kode di atas file SHTML Anda menampilkan error 500 (Internal Server Error) atau tag SSI muncul mentah begitu saja di browser tanpa dieksekusi, lakukan pemeriksaan berikut:
- Error 500 (Internal Server Error): Biasanya terjadi karena penyedia hosting (web hosting) melarang penggunaan direktif
Options +Includesdi level user. Solusinya, ubah menjadiOptions +IncludesNOEXECatau hubungi dukungan teknis hosting Anda. - Tag SSI Tidak Berfungsi (Tampil di Source Code): Pastikan modul
mod_includesudah aktif di server Apache Anda dan pastikan ekstensi file benar-benar.shtml, bukan.html(kecuali Anda menambahkan handler untuk .html). - Izin Berkas (File Permission): Pastikan file
.htaccessmemiliki hak akses644dan direktori dapat dibaca oleh server web.