Jump to navigation
29 April
Index aufhübschen
Der Apache Webserver kann automatisch einen Verzeichnisindex erstellen.
Erreichen kann man dies über die Options Direktive.
Dafür muss man der Option-Direktive nur den Parameter +Indexes anhängen. Dies kann in der httpd.conf, innerhalb eines Virtual Host Containers oder in der .htaccess Datei erfolgen.
Der Parameter -Indexes verhindert übrigens das anzeigen eines Index.
Leider sieht der vom Apache erzeugte Standardindex etwas langweilig aus:
Beispiel 1
Dank der IndexOptions Direktive lässt sich da leicht Abhilfe schaffen.
Alles was benötigt wird, sind ein paar Direktiven in der .htaccess (oder in der httpd.conf) und ein wenig CSS.
Beispiel 2
Die dazugehörige .htaccess Datei sieht so aus:
AddType text/html .html ist auf diesem Server hier notwendig, da sonst die Dateien HEADER.html und FOOTER.html nur als ASCII und nicht als HTML ausgegeben werden.
Beim Erstellen des Directory-Index erzeugt der Apache Webserver den kompletten HTML Code für die Seite selber. Das ist zwar praktisch, aber langweilig.
Durch die HeaderName und ReadmeName Direktiven bekommt der Apache die Anweisung die durch diese Direktiven bestimmte Dateien vor bzw. nach dem Directory-Listing anzufügen.
Dadurch bekommt man die Möglichkeit dem erzeugten Index mittels CSS ein angenehmeres Äusseres zu verpassen.
Normalerweise fügt der Apache diese Dateien nach einer selbsterzeugten HTML Preambel (<html>, <head>, usw.) an.
Mit dem Parameter SuppressHTMLPreamble wird der Apache angewiesen genau diese Preambel nicht mehr selber zu erzeugen, bzw. zu unterdrücken und stattdessen die aus den übergebenen Dateien zu nehmen.
IndexIgnore FOOTER.html sorgt nur dafür, dass die Datei, aus welcher der Footer erzeugt wird, nicht mit im Listing erscheint.
So aufgehübscht sieht der erzeugte Index schon viel moderner und angenehmer aus.
Wenn man möchte, kann man aber noch einen Schritt weiter gehen und wirklich fast alles abändern damit sich das Ganze besser in ein bestehendes Seitendesign einfügt:
Beispiel 3
In diesem Beispiel wurden sogar die wenig hübschen Standard-Icons des Apache gegen ein paar schönere ausgetauscht.
Durch ein wenig experimentieren kann man so sehr schöne Verzeichnis Indexe erzeugen lassen.
Alle verwendeten Direktiven zum nachlesen:
Erreichen kann man dies über die Options Direktive.
Dafür muss man der Option-Direktive nur den Parameter +Indexes anhängen. Dies kann in der httpd.conf, innerhalb eines Virtual Host Containers oder in der .htaccess Datei erfolgen.
Der Parameter -Indexes verhindert übrigens das anzeigen eines Index.
Leider sieht der vom Apache erzeugte Standardindex etwas langweilig aus:
Beispiel 1
Dank der IndexOptions Direktive lässt sich da leicht Abhilfe schaffen.
Alles was benötigt wird, sind ein paar Direktiven in der .htaccess (oder in der httpd.conf) und ein wenig CSS.
Beispiel 2
Die dazugehörige .htaccess Datei sieht so aus:
ServerSignature Off AddType text/html .html Options +Indexes IndexOptions FancyIndexing HeaderName /demos/indexing/2/HEADER.html ReadmeName /demos/indexing/2/FOOTER.html IndexIgnore FOOTER.html IndexOptions SuppressHTMLPreamble IndexOptions FoldersFirst IndexOptions IconsAreLinks IndexOptions ScanHTMLTitles IndexOptions DescriptionWidth=* AddDescription "Dieser Text steht hinter allen Textdateien" .txt AddDescription "Dieses Bild hat seinen eigenen Text" nopicture.jpg AddDescription "Alle anderen JPG Bilder bekommen diese Beschreibung verpasst" .jpgDie Direktiven ServerSignature und AddType sind nicht unbedingt notwendig. Mit ServerSignature Off wird nur die normalerweise am unteren Seitenende eingeblendete Server Signatur abgeschaltet.
AddType text/html .html ist auf diesem Server hier notwendig, da sonst die Dateien HEADER.html und FOOTER.html nur als ASCII und nicht als HTML ausgegeben werden.
Beim Erstellen des Directory-Index erzeugt der Apache Webserver den kompletten HTML Code für die Seite selber. Das ist zwar praktisch, aber langweilig.
Durch die HeaderName und ReadmeName Direktiven bekommt der Apache die Anweisung die durch diese Direktiven bestimmte Dateien vor bzw. nach dem Directory-Listing anzufügen.
Dadurch bekommt man die Möglichkeit dem erzeugten Index mittels CSS ein angenehmeres Äusseres zu verpassen.
Normalerweise fügt der Apache diese Dateien nach einer selbsterzeugten HTML Preambel (<html>, <head>, usw.) an.
Mit dem Parameter SuppressHTMLPreamble wird der Apache angewiesen genau diese Preambel nicht mehr selber zu erzeugen, bzw. zu unterdrücken und stattdessen die aus den übergebenen Dateien zu nehmen.
IndexIgnore FOOTER.html sorgt nur dafür, dass die Datei, aus welcher der Footer erzeugt wird, nicht mit im Listing erscheint.
So aufgehübscht sieht der erzeugte Index schon viel moderner und angenehmer aus.
Wenn man möchte, kann man aber noch einen Schritt weiter gehen und wirklich fast alles abändern damit sich das Ganze besser in ein bestehendes Seitendesign einfügt:
Beispiel 3
In diesem Beispiel wurden sogar die wenig hübschen Standard-Icons des Apache gegen ein paar schönere ausgetauscht.
Durch ein wenig experimentieren kann man so sehr schöne Verzeichnis Indexe erzeugen lassen.
Alle verwendeten Direktiven zum nachlesen:
- Options-Direktive
- IndexOptions
- HeaderName
- ReadmeName
- AddIcon
- AddIconByEncoding
- AddIconByType
- DefaultIcon
- AddDescription
tags: IndexOptions, Options Direktive, Apache
17:31:25 29.04.2005 Holger Struck -
Kategorie: Tipps/Tricks
TrackBack
Trackback
There are currently no trackbacks for this item.
Use this TrackBack url to ping this item (right-click, copy link target).
If your blog does not support Trackbacks you can manually add your trackback by using this form.
Kommentare
Paul:
05.02.2008 16:11:43
Joe:
gibt es eine Möglichkeit anzugeben, dass alle jpegs nicht direkt angezeigt wird, sobald man sie anklickt, sonder dass ein download dialog kommt?
Thx
Thx
14.04.2008 09:33:07
host:
@Joe
Nicht das ich wüsste.
Nicht das ich wüsste.
28.04.2008 10:31:40
Kommentar schreiben
Kommentar wird nach Überprüfung freigeschaltet

Grüße, Paul