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-scriptDie 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 documentWenn 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.