Ssi Include Virtual Path Relative: Panduan & Contoh Kode

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:

  1. Aktifkan Modul Apache: Pastikan modul include_module aktif dengan menjalankan perintah a2enmod include pada sistem berbasis Debian/Ubuntu.
  2. 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
  3. Pengujian File: Simpan file dengan ekstensi yang didukung atau pastikan filter server memproses file .html standar.

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 virtual diawali 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-data atau nginx) memiliki hak baca (read permission) terhadap file yang ingin disertakan.
  • Direktori Tersembunyi: Hindari menyertakan file yang berada di luar dokumen root menggunakan parameter virtual tanpa konfigurasi alias atau direktif Alias yang tepat pada konfigurasi server.