Menu
 

 

SSI - Wichtige Fragen

von Arne Pottharst

Im Zusammenhang mit Server Side Includes, kurz SSI genannt, tauchen immer wieder typische Fragen auf. Hier die Antwort auf die häufigsten Probleme, die Ihnen im Umgang mit SSI begegnen können:

Woran erkenne ich, dass ich SSI habe?
Die einfachste Methode ist: probieren Sie es aus. Dies tun Sie, indem Sie eine Datei mit dem Namen test.shtml anlegen und den folgenden Befehl dort hineinschreiben:

<!--#echo var="DATE_LOCAL" -->

Kopieren Sie die Datei dann auf Ihren Webserver und rufen Sie die Datei auf. Sie sehen etwas, das wie im Beispiel unten aussieht? Dann wird SSI unterstützt:

Sunday, 24-Oct-2004 12:26:45 CEST

Tip: Auch wenn es nicht jeder Provider angibt, wird SSI häufig unterstützt. Wer beim Ausprobieren nicht weiter kommt, sollte einfach freundlich dort nachfragen!

Welche Dateiendung haben SSI-Dateien?
Rein theoretisch ist es egal, welche Dateiendung man verwendet, diese kann man in der Datei .htaccess einstellen, indem man ihr die Zeile

  AddType text/x-server-parsed-html .html .abc

hinzufügt. Nun werden alle Dateien, die die Endung .html und .abc haben, nach SSI-Anweisungen geparst, d.h. als SSI-Datei interpretiert. Standardmässig ist .shtml, .sht oder .shtm eingestellt.

Achtung: Man sollte die SSI-Dateiendung wirklich nur dann ändern, wenn man gute Gründe dafür hat beziehungsweise alle Dateien auch tatsächlich parsen (nach SSI-Anweisungen durchsuchen) will, ansonsten kann es zu Performance-Einbußen kommen.

Die if Abfrage funktioniert nicht!
Dies ist meist der Fall, wenn man den IIS (Internet Information Server von Microsoft) verwendet, dieser unterstützt diesen Befehl nicht. Falls der Apache-Server, der meist verwendet wird, die if Abfrage nicht unterstützt, so ist eine Nachfrage beim Provider zu empfehlen.

flastmod, include, fsize funktionieren nicht!
Wenn man die Datei per file einbindet, kann es sein, dass es nicht funktioniert, stattdessen virtual verwenden. Bei include kann es sein, dass die gewünschte Datei nicht die richtige Endung hat, je nach Provider bzw. Server sollte die Endung .shtml sein, .inc geht nicht immer.

Die exec Anweisung funktioniert nicht!
Dies ist ein spezielles Kommando, das erlaubt, Programme wie z.B. CGI-Scripts aufzurufen. Da dies ein Sicherheitsrisiko darstellen kann, haben einige Provider es abgestellt. In der Datei httpd.conf des Apache-Webservers wird das CGI-Script mit der Direktive Options All ein- beziehungsweise mit Options IncludesNoExec abgestellt.

Hilfe, hier geht gar nichts mehr!
Wenn sichergestellt ist, dass der Provider bzw. der Server SSI unterstützt und trotzdem nichts geht, kann es folgende Gründe geben: Ist die SSI-Syntax korrekt? Sie lautet folgendermaßen:  

<!--#kommando argument="wert" -->

Wichtig ist hierbei das Leerzeichen vor dem --> . Es kann auch sein, dass die Performance des Servers gewissermaßen in die Knie geht, da jede einzelne SSI-Datei vom Server geparst wird, was eine große Belastung darstellt. So kann es vereinzelt vorkommen, dass SSI-Kommandos nicht ausgeführt werden. Alternativ sind hier statische HTML-Dateien oder beispielsweise PHP-Dateien zu empfehlen.

Kann ich eine SSI-Datei in eine andere einbinden?
Antwort: Ja, das geht. Allerdings muss die eingebundene Datei die Endung .shtml oder eine andere SSI-Endung haben, sonst werden die darin enthaltenen SSI-Anweisungen nicht ausgeführt.

Wie binde ich eine Datei von einem anderen Server ein?
SSI bedeutet "Server Side Includes" (zu deutsch in etwa serverseitig Eingebundenes"), das bedeutet, dass sich alles auf einem Server abspielt, daher ist es nicht möglich, eine Seite einzubinden, die mit http:// oder etwas Ähnlichem beginnt.

Welchen Browser brauche ich?
SSI ist nicht vom Browser, der auf dem Computer des Benutzers installiert ist, abhängig, sondern einzig und allein vom Webserver, auf dem die SSI-Seiten abgelegt sind. Die Dateien werden dort so zusammengesetzt, wie sie beim Browser ankommen, das heisst, sie werden wie statische HTML-Seiten behandelt.

Welche Auswirkungen hat SSI auf Suchmaschinen?
Normalerweise sind gar keine zu befürchten, da die Seiten - wie im Beispiel oben beschrieben - vom Server wie statische HTML-Seiten behandelt werden. Es kann sein, dass sich ältere Suchmaschinen an der Endung .shtml stören, neuere sollten keine Probleme haben. Und im Zweifelsfalle kann man die Endung ändern, siehe oben.

Brauchen SSI-Seiten länger, bis sie angezeigt werden?
Ja, es dauert geringfügig länger, da die Dateien erst vom Server geparst werden müssen, aber mehr als Sekundenbruchteile sollten es nicht sein. Andere Faktoren wie die Bandbreite spielen eher eine Rolle.

 

 
   Anzeigen

Navigation:    Webdesign - Programmierung - Web Grafiken - Software Guides - Tools - Templates - Schriftarten - Seminare - IT News
Partner:   Template OK - PCopen - SITEopen - PCopen Schweiz - HTMLopen Schweiz - VirtualUniversity.ch - WEB-SET.com - YesMMS - Job und Karriere