Server Side Includes (SSI) adalah bahasa scripting sederhana yang digunakan di sisi server untuk menyertakan konten dari satu file ke file lain di dalam halaman web HTML. Konfigurasi SSI yang dipadukan dengan file .htaccess memungkinkan pengembang web mengaktifkan fungsi ini tanpa harus mengubah konfigurasi utama server Apache (seperti httpd.conf atau apache2.conf).
Untuk menjalankan SSI dan menyertakan dokumen virtual melalui .htaccess, server Apache harus memuat modul mod_include. Tanpa modul ini, perintah SSI tidak akan diproses oleh server dan akan diabaikan atau memicu kesalahan internal server (HTTP 500).
Langkah Pengaktifan SSI melalui .htaccess
Berikut adalah baris kode yang harus Anda masukkan ke dalam file .htaccess di direktori root situs web Anda untuk mengaktifkan pemrosesan SSI pada ekstensi file tertentu:
AddType text/html .shtml
AddHandler server-parsed .shtml
Options +Includes
Jika Anda ingin mengaktifkan SSI pada file berformat standar seperti .html atau .htm, sesuaikan baris kode di atas menjadi:
AddHandler server-parsed .html .htm
Options +Includes
Sintaks Perintah SSI Include Virtual
Setelah SSI aktif di level direktori via .htaccess, Anda dapat menggunakan direktif #include dengan parameter virtual untuk memanggil file lain, seperti header, footer, atau navigasi:
<!--#include virtual="/includes/header.html" -->
Perbedaan utama antara parameter virtual dan file adalah bagaimana path didefinisikan:
- virtual: Menggunakan URL-path relatif terhadap dokumen root server (server-relative).
- file: Menggunakan path relatif terhadap direktori file yang sedang memuat skrip tersebut (path-relative).
Tabel Perbandingan Parameter SSI Include
| Parameter SSI | Jenis Path | Contoh Penggunaan | Kelebihan |
|---|---|---|---|
virtual |
Server-relative URL | <!--#include virtual="/nav.html" --> |
Dapat melewati batas direktori, mendukung skrip CGI |
file |
Relative path | <!--#include file="../footer.html" --> |
Lebih mudah untuk struktur folder lokal yang tertutup |
Troubleshooting Masalah Umum
Kendala yang sering terjadi saat mengonfigurasi SSI via .htaccess meliputi:
- Error 500 Internal Server Error: Biasanya disebabkan oleh direktif
Options +Includesyang tidak diizinkan oleh konfigurasi global server (AllowOverridedihttpd.confharus mengizinkanOptionsatauAll). - File Tidak Muncul: Pastikan path yang didefinisikan pada parameter
virtualbenar dan diawali dengan garis miring (/) jika merujuk ke root. - Hosting Tidak Mendukung: Beberapa penyedia shared hosting mungkin menonaktifkan
mod_includedemi keamanan atau performa. Hubungi administrator server jika konfigurasi.htaccessdiabaikan.