Dalam arsitektur Server Side Includes (SSI), parameter virtual dan file pada direktif #include menentukan bagaimana server web (seperti Apache atau Nginx) menyelesaikan path file yang ingin disisipkan. Parameter virtual menggunakan path relatif terhadap dokumen root server, sementara file menggunakan path relatif terhadap direktori dokumen yang sedang memproses permintaan saat ini.
Penggunaan path relatif dengan parameter virtual sangat krusial ketika Anda ingin menyertakan komponen bersama (seperti header, footer, atau navigasi) dari direktori root situs web tanpa harus menyesuaikan titik relatif dari struktur folder yang bersarang.
Perbandingan Parameter SSI Include
| Parameter SSI | Basis Path | Contoh Sintaks | Kasus Penggunaan Utama |
|---|---|---|---|
virtual |
Dokumen Root Server (URL-path) | <!--#include virtual="/includes/header.html" --> |
File umum yang diakses dari berbagai subfolder berbeda. |
file |
Sistem File Lokal (Relative Path) | <!--#include file="../common/footer.html" --> |
File hierarki lokal yang sangat terikat dengan struktur folder. |
Contoh Implementasi Kode SSI
Berikut adalah contoh implementasi nyata struktur direktori web menggunakan SSI dengan path relatif berbasis virtual:
<!-- Struktur Direktori -->
<!-- /var/www/html/index.html -->
<!-- /var/www/html/includes/header.html -->
<html>
<head>
<title>Halaman Utama</title>
</head>
<body>
<!-- Menyertakan file menggunakan path relatif virtual -->
<!--#include virtual="/includes/header.html" -->
<main>
<p>Konten halaman utama berada di sini.</p>
</main>
<!--#include virtual="/includes/footer.html" -->
</body>
</html>
Langkah Teknis Konfigurasi Server
Agar perintah SSI dengan path relatif dapat dieksekusi dengan benar oleh server web, pastikan modul SSI telah diaktifkan dan konfigurasi server mengizinkan eksekusi tersebut:
- Aktifkan Modul Apache: Pastikan modul
include_moduleaktif dengan menjalankan perintaha2enmod includepada sistem berbasis Debian/Ubuntu. - Konfigurasi Virtual Host / .htaccess: Tambahkan direktif berikut untuk mengizinkan parsing SSI pada file HTML:
AddType text/html .shtml .html AddOutputFilter INCLUDES .shtml .html Options +Includes - Pengujian File: Simpan file dengan ekstensi yang didukung atau pastikan filter server memproses file
.htmlstandar.
Troubleshooting Masalah SSI Path
Jika file yang disisipkan tidak muncul atau menampilkan pesan [an error occurred while processing this directive], periksa beberapa hal berikut:
- Kesalahan Penulisan Path: Pastikan path pada parameter
virtualdiawali dengan garis miring (/) yang merujuk langsung ke dokumen root, bukan direktori lokal relatif sistem file. - Izin Berkas (File Permissions): Pastikan proses server web (seperti
www-dataataunginx) memiliki hak baca (read permission) terhadap file yang ingin disertakan. - Direktori Tersembunyi: Hindari menyertakan file yang berada di luar dokumen root menggunakan parameter
virtualtanpa konfigurasi alias atau direktifAliasyang tepat pada konfigurasi server.