File berformat .shtml (Server Side Includes HTML) tidak dapat dijalankan secara langsung hanya dengan mengklik dua kali file tersebut di browser seperti halnya file HTML biasa. File SHTML memerlukan web server yang mendukung modul Server Side Includes (SSI) agar perintah di dalamnya, seperti #include, dapat diproses dan dirender dengan benar ke browser klien.
Untuk menjalankan file SHTML dengan sukses, Anda memerlukan lingkungan server lokal (seperti Apache atau Nginx) atau akun web hosting yang sudah mengaktifkan modul SSI. Berikut adalah metode lengkap untuk menjalankan file SHTML di berbagai lingkungan.
Metode 1: Menjalankan File SHTML di XAMPP / Apache (Lokal)
Secara default, server Apache di XAMPP belum tentu mengaktifkan parsing SSI untuk file berformat .shtml. Anda harus mengonfigurasi file konfigurasi Apache terlebih dahulu.
- Buka direktori instalasi XAMPP Anda (biasanya di
C:\xampp\apache\conf\). - Buka file
httpd.confmenggunakan teks editor seperti Notepad++ atau VS Code. - Cari baris kode
AddType text/html .shtmldanAddOutputFilter INCLUDES .shtml. Pastikan tanda pagar (#) di depannya dihapus (di-uncomment) agar aktif:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
- Cari blok konfigurasi direktori utama Anda (biasanya
<Directory "C:/xampp/htdocs">) dan pastikan opsiIncludesditambahkan pada barisOptions:Options Indexes FollowSymLinks Includes - Simpan file
httpd.conf, lalu restart layanan Apache melalui XAMPP Control Panel. - Letakkan file SHTML Anda di dalam folder
htdocs(misalnyaC:\xampp\htdocs\index.shtml). - Buka browser dan akses melalui URL lokal:
http://localhost/index.shtml.
Metode 2: Menjalankan File SHTML di Nginx (Lokal)
Jika Anda menggunakan Nginx sebagai web server lokal, modul SSI harus diaktifkan secara eksplisit di dalam blok server konfigurasi.
- Buka file konfigurasi Nginx Anda (biasanya
nginx.conf). - Tambahkan perintah
ssi on;di dalam blokserverataulocation:
server {
listen 80;
server_name localhost;
root /var/www/html;
index index.shtml index.html;
location / {
ssi on;
try_files $uri $uri/ =404;
}
}
- Simpan file konfigurasi dan restart Nginx menggunakan terminal:
sudo systemctl restart nginx. - Akses file melalui
http://localhost/namafile.shtml.
Metode 3: Menjalankan File SHTML di Web Hosting (cPanel)
Sebagian besar penyedia web hosting yang menggunakan cPanel sudah mendukung SSI secara otomatis. Anda hanya perlu memastikan struktur file benar.
- Login ke akun cPanel Anda dan buka File Manager.
- Unggah file SHTML Anda ke dalam direktori
public_html. - Jika perintah SSI (seperti menyertakan header atau footer) tidak berfungsi, buat atau edit file
.htaccessdi dalam folderpublic_html, lalu tambahkan baris kode berikut:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
- Simpan perubahan dan uji dengan mengakses domain Anda (misalnya
https://namadomain.com/index.shtml).
Tabel Perbandingan Konfigurasi SSI per Server
| Web Server | File Konfigurasi Utama | Parameter Kode SSI | Tingkat Kesulitan Setup |
|---|---|---|---|
| Apache (XAMPP) | httpd.conf | Options Includes & AddOutputFilter | Sedang |
| Nginx | nginx.conf | ssi on; | Sedang |
| cPanel Hosting | .htaccess / Default | AddOutputFilter INCLUDES .shtml | Mudah |
Troubleshooting File SHTML Tidak Berfungsi
Jika file SHTML Anda hanya menampilkan teks kode SSI mentah (seperti <!--#include virtual="header.html" -->) atau menghasilkan error 500, periksa beberapa hal berikut:
- Akses Langsung via File Lokal: Pastikan Anda tidak membuka file SHTML dengan cara mengklik dua kali dari Explorer (protokol
file:///). Server web wajib aktif. - Sintaks SSI Salah: Periksa kembali penulisan tag SSI. Spasi di dalam tanda kurung siku sangat krusial, misalnya format yang benar adalah
<!--#include virtual="file.html" -->. - Izin File (Permissions): Pada server berbasis Linux, pastikan izin file SHTML diatur ke
644dan direktori ke755.