Tutorial SHTML Htaccess: Cara Aktifkan Server Side Includes

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 +Includes di level user. Solusinya, ubah menjadi Options +IncludesNOEXEC atau hubungi dukungan teknis hosting Anda.
  • Tag SSI Tidak Berfungsi (Tampil di Source Code): Pastikan modul mod_include sudah 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 .htaccess memiliki hak akses 644 dan direktori dapat dibaca oleh server web.