AutoIndex

Wenn man ein Webseite aufruft, in der keine index.html oder ähnliches vorkommt, erscheint folgendes Bild:

Abbildung 1

Um sich den inhalt dieser seite trotzdem anzeigen zu lassen ist ein sogenannter autoindex notwendig. Für den Autoindex ist folgendes zusätzliches Modul für Apache erforderlich:

	LoadModule autoindex_module "modules/mod_autoindex.so"
				

Außerdem muss im Directory-Container folgendes hinzugefügt werden:

	<Directory "...">
		Options +indexes
	</Directory>
				

wenn wir die seite nun nochmal aufrufen sollte sie so aussehen:

Abbildung 2

Jetzt kann man diesen Index noch ausführlicher gestalten. Dazu ist folgende zusätzliche config-Zeile erforderlich

	<Directory "...">
		IndexOptions +FancyIndexing
	</Directory>
				
Abbildung 3

Zusätzlich kann man dem FancyIndexing noch Parameter mitgeben. In unserem Beispiel sortieren wir die Ordner an den Anfang der Liste.

	<Directory "...">
		IndexOptions +FancyIndexing +FoldersFirst
	</Directory>
				
Abbildung 4

Wir können an den Anfang des Indexes die jeweiligen Icons entsprechend der Dateiendung anzeigen lassen. Einige Icons werden beim Apache mitgeliefert (zu finden im Unterordner apache/icons/...). Um von unserer Webseite auf diesen Ordner zuzugreifen benötigen wir ein Alias für den Dateipfad, da standardmäßig die Webseite in den Serverroot nicht zugreifen kann.

	LoadModule alias_module "modules/mod_alias.so"
	
	Alias /icons "D:/xampp/apache/icons"
				

Hier vergeben wir noch Zugriffsrechte für unseren Alias.

	<Directory "D:/xampp/apache/icons">		
		Require all granted
		AllowOverride none
	</Directory> 
				

Jetzt können wir im Directory den verschieden Dateiendungen die entsprechenden Icons zuweisen. Das Default Icon wird für alle nicht näher spezifizierten Dateiendungen verwendet (In unserem Fall die Bombe).

	<Directory "...">			
		DefaultIcon "/icons/bomb.png"
		AddIcon "/icons/calc.png" .xls
		AddIcon "/icons/doc.png" .doc
		AddIcon "/icons/text.png" .txt
		AddIcon "/icons/dir.png" ^^DIRECTORY^^
	</Directory>	
				
Abbildung 5

Wir sehen das die Icons verschiedene Größen haben. Also brauchen wir noch ein paar Optionen für das FancyIndexing.

	<Directory "...">
		IndexOptions +FancyIndexing +FoldersFirst +IconHeight=20 +IconWidth=20
	</Directory>
				
Abbildung 6

Wenn wir jetzt in der Ordner gepacktes schauen, haben die .zip .rar .7z Files alle das Default Icon bekommen.

Abbildung 7

Wir könnten die Icons zwar mit AddIcon vergeben werden aber für diesen Fall AddIconByType verweden. Dazu brauchen wir natürlich noch ein Zusatzmodul:

	LoadModule mime_module "modules/mod_mime.so"
	
	<Directory "...">
		AddIconByType "/icons/zip.png" application/zip  
		AddIconByType "/icons/rar.png" application/x-rar-compressed
		AddIconByType "/icons/7zip.png" application/x-7z-compressed
	</Directory>
				
Abbildung 8

Bei allen weiteren Fragen hilft die "sehr" ausführliche Apache Dokumentation.