Zugriffssteuerung mittels der Datei .htaccess

AllowOverride FileInfo

Der HTTP-Server bestimmt aus der Endung eines Dateinamens den Dateiinhalt (content-type) und die Verschlüsselungsart (content-encoding) und reagiert auf den so bestimmten Dateityp seiner Konfiguration entsprechend.

Die Datei-Information wird im HTTP-Header dem Client, der diese Datei angefordert hat, mitgeteilt (Beispiel) und der Client (z.B. Mozilla, Firefox, InternetExplorer) kann entsprechend reagieren.

Es gibt Tabellen, die den Zusammenhang zwischen Dateiendung und Dateityp festlegen (siehe Tabelle), was aber nicht heissen muss, dass jeder WWW-Server sich an diese Festlegungen hält.

Mit den Direktiven dieser Gruppe können Sie die Zuordnung von Dokumenttyp und Dateiendung Ihres Dokumentes und typabhängige Aktionen mittels .htaccess-Datei kontrollieren, sofern der Webserver mit AllowOberride FileInfo Ihnen dies erlaubt. Vergessen Sie dabei nicht, dass alle Vereinbarungen einer .htaccess-Datei auch in allen Unterverzeichnissen gültig sind!

Direktiven der Anweisungsgruppe FileInfo gibt es in den Apache Modulen mod_alias, mod_charset_lite, mod_env, mod_headers, mod_mime, mod_negotiation, mod_rewrite, mod_setenvif und mod_usertrack

Ausserdem gehören die Direktiven AcceptPathInfo, Action, DefaultType und ErrorDocument zur Anweisungsgruppe FileInfo.

Die Direktiven

werden in diesem Tutorial anhand von Beispielen erläutert.

Beispiele

AddHandler

Syntax

AddHandler   handler-name     extension

Die Direktive legt fest, dass Dateien mit vorgegebener Endung von einem bestimmten, im Apache Server integrierten, Steuerungsprogramm bearbeitet werden sollen.

Beispiel
Addhandler    server-parsed    .html

Damit werden Server Side Includes in Dateien mit der Endung .html vom Server abgearbeitet.

Weitere Information
Was ist ein Handler?


AddType / AddEncoding

Syntax
AddType   MIME-type   extension extension...
AddEncoding   MIME-enc   extension extension... Mit AddType wird die Liste der möglichen Zuordnungen von Dateiendung und Dokumenttyp (MIME-type) erweitert bzw. bereits definierte Zuordnungen können neu festgelegt werden. Zusammenhang zwischen MIME-types und Dateiendungen SELFHTML: MIME-Typen

Mit AddEncoding wird die Liste der möglichen Zuordnungen von Dateiendung und Dokumentkodierung (MIME-enc) erweitert bzw. bereits definierte Zuordnungen können neu festgelegt werden.

Beispiel
AddEncoding   multipart/x-gzip    .gz .gzip .GZ .GZIP
AddType   image/gif    .gif .GIF .bild .BILD
AddType   exe-format    .exe

Mit der ersten Zuweisung werden alle Dateien mit den Endungen .gz, .gzip, .GZ oder .GZIP vom HTTPd als GNU ZIP-Archive interpretiert und werden damit von allen Browsern, die den Kodierungstyp gzip akzeptieren, den Browsereinstellungen entsprechend behandelt.

Mit der zweiten Zuweisung werden alle Dateien mit der Endung .gif, .GIF, .bild oder .BILD als Bilddateien im GIF-Format interpretiert.

Die dritte Zuweisung definiert mit exe-format einen neuen Dateityp und legt fest, dass alle Dateien mit der Endung .exe als exe-file-Datei behandelt werden sollen (siehe das nachfolgende Action-Beispiel).


Action

Syntax
Action   action-type   cgi-script

Die Direktive bewirkt, dass ein vereinbartes CGI-Script abgearbeitet wird, wenn eine Datei des in der Vereinbarung angegebenen Dateityps (action-type) angefordert wird. action-type kann vom Typ Handler oder MIME-type sein.

Beispiel
Die nachfolgenden Vereinbarungen

AddType   exe-format    .exe
AddType   image/gif    .gif .GIF .bild .BILD
Action    exe-format    /~test_user/cgi-bin/control_exe.cgi
Action    image/gif    /~test_user/cgi-bin/control_gif.cgi

bewirken, dass das CGI-Script control_exe.cgi abgearbeitet wird, sobald eine Datei mit der Endung .exe angefordert wird. Weiterhin wird das CGI-Script control_gif.cgi abgearbeitet wird, sobald eine Datei angefordert wird, die der Server als GIF-Datei erkennt. Voraussetzung hierfür ist allerdings, dass der Server CGI-Skripte gestattet.


ErrorDocument

Syntax
ErrorDocument   error-code   document

Wenn ein Problem oder ein Fehler auftritt, kann mit ErrorDocument festgelegt werden, wie der HTTP-Server darauf reagieren soll. Die Error-Codes können Sie dieser Tabelle entnehmen.

Beispiel
Mit

ErrorDocument   404   "<hr>Dokument nicht vorhanden ...<hr>"
ErrorDocument   403   /error/zugriffNichtErlaubt.html

wird die angegebene Mitteilung zum Clienten geschickt, wenn ein nicht vorhandenes Dokument (Status Code 404) angefordert wird.
Hinweis: Obiges Beispiel entspricht der Apache 2 Syntax. Die Syntax der Anführungszeichen bei Textnachrichten ist in Apache 2.x und Apache 1.x unterschiedlich.

Wird vom Server der Zugriff auf eine Datei verweigert (Status Code 403), wird stattdessen das Dokument /zugriffNichtErlaubt.html zum Browser geschickt.