Tag SSI Apache HTML: Pengertian, Fungsi, dan Cara Pakai

Server Side Includes (SSI) adalah direktif sederhana yang ditempatkan di dalam halaman HTML untuk memanggil dan menyisipkan konten dari file lain ke dalam satu dokumen web utama saat halaman tersebut dimuat oleh server web Apache. SSI memungkinkan pengembang web untuk membuat elemen modular, seperti menu navigasi, header, atau footer, yang dapat digunakan kembali di banyak halaman tanpa harus menulis ulang kode yang sama.

Untuk menggunakan SSI pada server Apache, file HTML yang berisi tag SSI biasanya harus memiliki ekstensi khusus (umumnya .shtml) dan fitur SSI harus diaktifkan terlebih dahulu di dalam konfigurasi server Apache (httpd.conf atau berkas .htaccess) melalui modul mod_include.

Sintaks Dasar Tag SSI

Sintaks SSI ditulis di dalam komentar HTML khusus agar tidak terlihat oleh pengunjung di sisi klien (browser). Format dasarnya menggunakan awalan <!--# diikuti oleh perintah dan atribut, lalu ditutup dengan -->.

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

Tabel Perintah Utama Server Side Includes (SSI)

Perintah SSI Atribut Umum Fungsi Utama
include virtual, file Menyisipkan isi file lain (seperti header, footer, atau teks) ke dalam dokumen saat ini.
echo var Menampilkan variabel server bawaan, seperti tanggal, waktu, atau alamat IP pengunjung.
flastmod virtual, file Menampilkan tanggal dan waktu modifikasi terakhir dari file tertentu.
fsize virtual, file Menampilkan ukuran file tertentu dalam format byte, KB, atau MB.
set var, value Membuat atau menetapkan nilai ke variabel kustom baru untuk digunakan kemudian.

Langkah Mengaktifkan SSI di Apache

Sebelum tag SSI dapat diproses oleh server Apache, administrator server harus memastikan bahwa modul yang diperlukan sudah aktif dan direktori web diizinkan untuk mengeksekusi SSI. Berikut adalah langkah-langkah teknis pengaturannya:

  1. Pastikan Modul Aktif: Periksa konfigurasi Apache untuk memastikan modul mod_include dimuat. Pada sistem berbasis Ubuntu/Debian, aktifkan dengan perintah terminal sudo a2enmod include.
  2. Ubah Konfigurasi Direktori: Tambahkan opsi Includes pada blok <Directory> di dalam file konfigurasi virtual host atau berkas .htaccess:
    <Directory "/var/www/html">
        Options +Includes
    </Directory>
  3. Atur Handler Ekstensi: Beritahu Apache untuk memproses file dengan ekstensi tertentu (misalnya .shtml) sebagai dokumen SSI:
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
  4. Uji Coba: Buat file dengan nama index.shtml, masukkan tag SSI seperti <!--#echo var="DATE_LOCAL" -->, lalu akses melalui browser.

Contoh Penggunaan Nyata

Penerapan paling umum dari SSI adalah memecah struktur situs web statis agar lebih mudah dikelola. Berikut adalah contoh kerangka file index.shtml yang memanggil komponen header dan footer secara terpisah:

<!--#include virtual="includes/header.html" -->

<main>
    <h1>Selamat Datang di Situs Kami</h1>
    <p>Halaman ini menggunakan Server Side Includes untuk menyusun layout.</p>
</main>

<!--#include virtual="includes/footer.html" -->

Troubleshooting Masalah Umum

Jika tag SSI tidak berfungsi dan hanya tampil sebagai komentar kosong atau teks mentah di browser, periksa beberapa hal berikut di lapangan:

  • Ekstensi File Salah: Pastikan file menggunakan ekstensi .shtml, bukan .html, kecuali server dikonfigurasi untuk memproses SSI pada file .html (yang dapat menurunkan performa server).
  • Izin Akses File (Path): Atribut virtual menggunakan jalur relatif terhadap dokumen root server, sedangkan atribut file menggunakan jalur relatif terhadap direktori file yang sedang aktif. Kesalahan penulisan path akan memicu pesan error [an error occurred while processing this directive].
  • Log Error Apache: Selalu periksa file error.log pada server Apache untuk melihat detail spesifik penyebab kegagalan eksekusi direktif SSI.