SSI bezeichnet eine Reihe von Befehlen, die von der
Server-Software ausgeführt werden. Allerdings unterstützen nicht alle Web-Server
SSI-Befehle. Zuerst wollen wir Ihnen zeigen wie Sie überprüfen können, ob
Ihr Web-Server SSI unterstützt.
Kopieren Sie den folgenden Quellcode in eine Textdatei und speichern Sie
diese mit der Endung ".shtml" ab. Diese Endung ist erforderlich damit der
Server überhaupt nach SSI-Befehlen sucht.
<html> <head> <title>Test mit Server
Side Includes</title> </head> <body>
<h1>TEST-Seite mit Server Side Includes</h1>
Datum/Uhrzeit auf dem Server: <!--#echo var="DATE_LOCAL"--><br>
Name dieser Datei: <!--#echo var="DOCUMENT_NAME"--><br>
Server-Software: <!--#echo var="SERVER_SOFTWARE"--><br>
Ihr WWW-Browser: <!--#echo var="HTTP_USER_AGENT"-->
</body> </html> |
Übertragen Sie diese Datei auf Ihren Server und rufen Sie sie mit einem
Browser auf. Wenn Ihr Server SSI unterstützt, dann sollten Sie jetzt die
Informationen angezeigt bekommen, wie zum Beispiel: aktuelles Datum, Name
der HTML-Datei, die Bezeichnung Ihres Browsers.
Falls Sie dies nicht angezeigt bekommen, kann es sein, das Ihr Hosting
Provider diese Funktion ausgeschaltet hat oder nicht anbietet bzw. nicht
anbieten kann.
Was kann man mit SSI machen?
Mit Hilfe von SSI kann man immer wiederkehrende HTML-Objekte in
eine Datei auslagern und dies von allen anderen Seiten einbinden. Damit
kann man zum Beispiel eine Navigationsleiste auslagern. Wenn dann Änderungen
an der Navigationsleiste durchgeführt werden müssen, brauchen Sie nur eine
einzige Datei zu ändern.
Es wäre sogar möglich, alle HTML-Seiten so zu erstellen, das diese nur
den puren Inhalt enthalten, und alle Gestaltungselemente mit Hilfe von
SSI eingefügt werden. Damit können Sie dann, mit wenigen "Handgriffen"
das komplette Seitenlayout ändern.
Sie können mit einem SSI-Befehl auch ein CGI-Skript aufrufen. Die Ausgabe
des Skriptes wird dann einfach an der Stelle in die HTML-Seite eingefügt,
wo der SSI-Befehl stand. So können Sie Datenbanken in Ihre Web-Site einbinden
ohne das Ihre Besucher das merken.
Der Vorteil beim Einsatz von SSI mit CGI-Skripten ist die einfache Intergration
in das Seiten-Layout. Dabei muss das Layout nicht extra im Skript einprogrammiert
werden, sondern das Skript gibt beispielsweise nur einfache HTML-Abschnitte
aus, die in Tabellen eingefügt werden können.
SSI - Befehle
Von Server zu Server kann es bei SSI-Befehlen Unterschiede geben.
Einige Server können nicht alle Befehle interpretieren. Andere wiederum
haben zusätzliche Befehle. Die SSI-Befehle die wir Ihnen hier vorstellen,
gelten für Apache, dem mit über 70% Marktanteil am weitest verbreiten
Server.
Ein SSI-Befehl ist folgendermaßen aufgebaut:
Syntax: <!--#element attribut=wert attribut=wert ... -->
Die Einbindung in HTML-Kommentare ist nötig, damit der Server SSI-Befehle
leichter erkennen kann. Außerdem werden so die Befehle nicht direkt auf
der Seite angezeigt, selbst wenn der Server SSI nicht unterstützt.
Im folgenden wollen wir Ihnen die Elemente und die möglichen Attribute
vorstellen:
config
Über dieses Element können Sie Ausgabeformate festlegen, die von anderen
Befehlen verwendet werden sollen.
echo
Dieses Element fügt den Inhalt einer Umgebungsvariablen in die Seite ein.
Verwenden Sie dafür das Attribut "var". Ein paar nützliche Variablen sind:
- DOCUMENT_NAME (Name der HTML-Datei)
- DOCUMENT_URI (Pfad der HTML-Datei)
- LAST_MODIFIED (letzte Änderung der HTML-Datei)
- DATE_LOCAL (Datum/Uhrzeit auf dem Server)
- HTTP_REFERER (URL der vorhergehenden Seite)
Beispiele:
<!--#echo var="DOCUMENT_NAME"-->
<!--#echo var="LAST_MODIFIED"-->
exec
Mit diesem Befehl können Sie Programme auf dem Server ausführen. Aber
auch Skripte lassen sich so starten. Dieser Befehl ist häufig gesperrt,
da er ein Sicherheitsproblem darstellt.
fsize
Dieser Befehl fügt die Größe der angegebenen Datei ein. Mögliche Attribut
sind:
flastmod
Dieser Befehl fügt das Datum der letzten Änderung der angegebenen Datei
ein. Die Attribute entsprechen denen bei "fsize".
Beispiel: <!--#flastmod virtual="/tipps/index.html"-->
include
Mit diesem Befehl können Sie beliebige Dateien in die HTML-Seiten integrieren.
- file
Hier können Sie nur einen relativen Pfad angeben, dürfen aber nicht
"../" verwenden. Auch dürfen Sie hier keinen absoluten Pfad angeben.
Verwenden Sie vorzugsweise das Attribut "virtual".
- virtual
Der Wert für dieses Attribut muss ein URL sein, der relativ zu dem aktuellen
Dokument notiert ist. Mit einem führenden Slash "/" können Sie wieder
vom Ursprung der Domain ausgehen. Also erreichen Sie ein CGI-Skript
über "/cgi-bin/skript.pl".
Bei diesem Befehl können Sie dem CGI-Skript außerdem einen String
übergeben. Dieser könnte zum Beispiel Formulareingaben simulieren.
Zum Beispiel könnten Sie mit "/cgi-bin/search.pl?was=suchen&string=tipps"
einem Such-Skript gleich die nötigen Parameter übergeben und in die
HTML-Seite gleich fertige Suchergebnisse einfügen.
Beispiel: <!--#include virtual="/cgi-bin/search.pl?was=suchen&string=tipps"-->