Website - SSI Includes


SSI stelt je in staat om eenvoudig bestanden in te voegen. Op deze manier kun je een website snel opbouwen en zo bijvoorbeeld slechts een enkele keer het menu invoegen zodat je bij het aanpassen van dit menu dit ook maar één keer hoeft te doen en daarna deze wijziging dus direct op alle pagina's van een website is doorgevoerd.

File en Virtual

Er zijn twee manieren van invoegen, File en Virtual. Met de eerste include optie "File" voeg je een bestand in die zich op hetzelfde niveau bevindt als de pagina. Bijvoorbeeld in de Root van je site waar index.shtml en menu.txt op hetzelfde niveau naast elkaar staan. Je kunt hier geen gebruik maken van de "../" om een bestand een niveau hoger te zoeken.

Met de tweede manier Virtual plaats je een include met het volledige pad (relative root) van de website. Op deze manier kun je wel gebruik maken van meerdere niveau's / submappen. Een pad kan dan bijvoorbeeld zijn: /home/gebruikersnaam/menu.txt.

Invoegen

Om nu een bestand in te voegen maak eerst een normale HTML pagina aan en sla deze op met de extensie .shtml in plaats van het reguliere .html of .htm. Maak daarna een nieuw bestand aan voor de include, dit mag .shtml of .htm / .html, .inc of .txt zijn. Plaats hierin bijvoorbeeld de code van je hoofdmenu of footer en sla daarna het bestand op.

Ga vervolgens naar de .shtml pagina om het bestand te gaan includen. Om dit te doen plaats de onderstaande code (File of Virtual) op de plek waar je het menu wilt gaan plaatsen. Zorg in de code dat het pad naar het bestand met het menu correct is.

File

<!--#include file="menu.txt" -->


Virtual

<!--#include virtual ="/home/gebruikersnaam/menu.txt" -->


Waar je wel even op moet letten is dat in de pagina die je include geen head en body tags staan en ook geen Doctype maar puur de content. Anders krijg je op het moment dat het ingevoegd wordt op de server dubbele vermeldingen in je broncode.

Een HTML pagina ziet er dan bijvoorbeeld als volgt uit,

<html>
<head>
<title>Pagina Titel</title>
</head>
<body>

<!--#include virtual="/hoofdmenu.txt" -->

De inhoud van je pagina.
</body>
</html>