BananaJoes SSI
BananaJoes SSI
Die Aufgabe der Server Side Includes (SSI) besteht darin,
Aktionen auslösende Anweisungen in die Dokumente
einzubinden.
Dergleichen kann man zwar auch über CGI Skripte erreichen,
doch mittels SSI ist der nötige Aufwand oft wesentlich
geringer.
Die Anwendungsmöglichkeiten sind riesig.
Direktiven
Um SSI nutzen zu können, müssen diese Direktiven in
der httpd.conf angegeben werden.
AddHandler server-parsed shtml
Options Includes
Dies kann sowohl an der Stelle in der httpd.conf erfolgen, die wie
folgt gekennzeichnet ist:
#
# To use server-parsed HTML
files
#
AddType text/html .shtml
AddHandler server-parsed shtml
Options Includes
aber auch in unseren virtuellen Servern selber:
<VirtualHost
dummy.bananajoe.de>
ServerAdmin
webmaster@bananajoe.de
ServerName dummy.bananajoe.de
DocumentRoot
C:/Apache/htdocs/bananajoe
ErrorLog
C:/Apache/htdocs/bananajoe/logs/error_log
TransferLog
C:/Apache/htdocs/bananajoe/logs/access_log
ScriptAlias /cgi-bin/
C:/Apache/cgi-bin/
AddHandler server-parsed shtml
Options Includes
</VirtualHost>
Bei der Verwendung innerhalb der VirtualHost Direktive,
funktionieren SSI natürlich auch nur innerhalb dieses
virtuellen Hosts (unser virtueller Sever)
Mit AddHandler server-parsed shtml
teilen wir dem Webserver mit, dass alle Dateien mit der Endung
.shtml durch den SSI-Prozessor geparst werden. Es ist auch jede
andere Endung möglich, wie z.B. .ssi oder .banana, aber eher
unüblich, da im allgemeinen .shtml als Standard eingerichtet
ist.
Options Includes aktiviert die
Verarbeitung von SSI's
Damit dies möglich ist muß allerdings noch folgendes
in der httpd.conf ergänzt werden:
-----------------------------------------------------------------------
In der httpd.conf, direkt unter der Direktory Direktive, wo wir
den Pfad zu unserem htdocs Verzeichnis eingetragen hatten.
<Directory
"C:/Apache/htdocs">
#
# This may also be "None",
"All", or any combination of
"Indexes",
# "Includes",
"FollowSymLinks", "ExecCGI", or
"MultiViews".
#
# Note that "MultiViews" must be
named *explicitly* --- "Options All"
# doesn't give it to you.
#
Options Indexes FollowSymLinks Includes
ExecCGI MultiViews
-------------------------------------------------------------------------
Hiermit ist die Verwendung von SSI's mit dem Apache Webserver
fertig eingerichtet.
Aber wie benutzen wir SSI?
Wir geben in dem .shtml Dokument eine spezielle Folge von Strings
ein, die der Apache Webserver bei der Rückgabe mit
Referenzstrings vergleicht, und durch dynamisch generierte
Nachrichten ersetzt.
Diese Strings besitzen ein eigenes Format, damit sie nicht mit
anderen Dingen verwechselt werden können.
Die Syntax eines SSI Befehls (des oben angesprochenen Strings)
lautet:
<!--#element attribut=wert attribut=wert
... -->
In der folgenden Tabelle sind die einzelnen Elemente mit ihren
möglichen Attributen aufgeführt.
Elemente
| Element | Attribut | ||||||
| config |
|
||||||
| echo |
|
||||||
| exec |
|
||||||
| cmd |
|
||||||
| fsize |
|
||||||
| flastmod |
|
||||||
| include |
|
Beispiele
Ein paar Beispiele :
Die Größe einer Datei ausgeben:
Mit dem fsize Befehl kann die Größe einer Datei
innerhalb des Dokumentes ausgegeben werden.
<!--#config errmsg="Ein Fehler ist
aufgetreten!"-->
<!--#config
sizefmt="bytes"-->
Die Datei bananajoe.jpg ist
<!--#fsize="bananajoe.jpg"-->
groß.
Mittels des Include Befehls kann eine Datei in eine andere
eingebettet werden.
<!--#config errmsg="Ein Fehler ist
aufgetreten!"-->
Der folgende Text wurde aus der Datei
blabla.txt eingebunden:
<< <!--#include
virtual="blabla.txt"--> >>
Beispiele als .zip herunterladen.