SSI (Server Side Includes) - Grundlagen

Mit SSI kann der Webserver gewisse Sachen in die Datei einfügen im Moment, wo die Datei abgerufen wird.

SSI-Dateien sind im Grunde genommen ganz normale HTML-Dateien, die an beliebigen Stellen ein oder mehrere SSI-Element(e) enthalten. Wie der Name schon sagt, werden SSI auf dem Webserver interpretiert (falls dieser entsprechend eingerichtet ist).
Der Browser des Users kriegt nur den Output (das Resultat des SSI) zu sehen, und das ist im Normalfall ganz normales HTML (oder auch JavaScript, wenn man Freude hat :-).

Allerdings sind die Möglichkeiten von SSI beschränkt, im Vergleich mit PHP sogar ziemlich mickrig.

Eine einzelne Seite kann nur entweder SSI- oder PHP-Befehle beinhalten.

Eine SSI-Datei ist eine ganz normale HTML-Datei mit allen nötigen Strukturen (HEAD, TITLE, BODY etc.). An einer beliebigen Stelle innerhalb der Datei können SSI-Befehle stehen.

Damit eine Datei vom Webserver als SSI-Datei erkannt wird, muss sie normalerweise die Endigung .shtml haben, also z.B. dateiname.shtml

Damit der Webserver auch .html-Dateien (z.B dateiname.html) auf SSI hin verarbeitet ("parst"), muss man einfach die folgende Zeile in die Datei .htaccess schreiben:
AddType text/x-server-parsed-html .html

(Weitere Informationen dazu auf der Seite "Server-Konfiguration für PHP bzw. SSI")

Beispiele für SSI:

Quelltext gewünschter Output Resultat
<!--#ECHO VAR="DOCUMENT_NAME" --> Dateiname ssi_allg.shtml  
<!--#ECHO VAR="LAST_MODIFIED" --> Datum/Zeit der letzten Änderung Wednesday, 06-Jun-2012 15:22:14 CEST  
<!--#include file="extern.inc" --> Inhalt einer externen Datei *Dies ist der Inhalt der Include-Datei [extern.inc] *  
<!--#include file="externphp.php" --> Inhalt einer externen Datei [an error occurred while processing this directive]  
<!--#include virtual="externphp.php" --> Inhalt einer externen Datei [an error occurred while processing this directive]  
<!--#config timefmt="%d.%m.%y" --> Ab hier: Datum/Zeit im Format dd.mm.yy  
<!--#ECHO VAR="DATE_GMT" --> Aktuelles Datum (Webserver) 22.07.18  
<!--#config timefmt="%a, %d.%m.%y, %H:%M:%S"--> Ab hier: Datum im Format Wochentag, dd.mm.yy, hh:mm:ss  
<!--#ECHO VAR="DATE_GMT" --> Datum und Zeit (GMT) Sun, 22.07.18, 14:13:10  
<!--#ECHO VAR="LAST_MODIFIED" --> Datum/Zeit der letzten Änderung der Datei selbst Wed, 06.06.12, 15:22:14  
<!--#flastmod file="" --> Datum/Zeit der letzten Änderung der Datei selbst (?) [an error occurred while processing this directive]  
<!--#flastmod virtual="" --> Datum/Zeit der letzten Änderung der Datei selbst (?) Wed, 06.06.12, 15:22:14  
<!--#flastmod file="index.html" --> Datum/Zeit der letzten Änderung der Datei "index.html" im gleichen Verzeichnis Wed, 06.06.12, 15:22:14  

Weiterführende Informationen, Links:

<= Zurück zur Übersicht PHP/SSI

Alle Angaben ohne Gewähr. Die Anwendung geschieht auf eigenes Risiko.

Autor: Thomas Lüthi, info@tomogramm.ch - Letzte Änderung: 19.11.2001