Zugriffssteuerung mittels der Datei .htaccess

Allgemeines

Jeder Webserver besitzt eine Konfigurationsdatei, in der die Eigenschaften, Dienste, Zugriffsrechte u.s.w. zentral festgelegt sind. Zusätzlich kann jeder Benutzer das Serververhalten bei Zugriff auf die eigenen Webseiten durch eine eigene Konfigurationsdatei beeinflussen, vorausgesetzt, der Server lässt dies zu (AllowOverride). Gesteuert werden können

  • Berechtigungsmechanismen
  • Serveraktivitäten bei Zugriff auf bestimmte Webdokumente
  • Anzeige von Directory-Inhaltsverzeichnissen

Diese Beschreibung der Zugriffssteuerung von WebSeiten gilt für den Apache HTTP Server.

.htaccess

Die Apache-Direktive AccessFileName legt serverseitig den Namen der Datei fest, in die benutzereigene Zugriffssteuerungen abzuspeichern sind. Die Voreinstellung

AccessFileName .htaccess

wird üblicherweise beibehalten. Deshalb wird in diesem Tutorial die benutzereigene Datei für die Zugriffssteuerung des Webservers .htaccess genannt.

Alle in einer .htaccess-Datei festgelegten Einstellungen gelten für das aktuelle Verzeichnis und für alle Unterverzeichnisse. Der Wert einer Direktive bleibt solange aktuell, bis diese Direktive in einem Unterverzeichnis neu gesetzt wird. Ab diesem Unterverzeichnis gilt dann der neue Wert.

AllowOverride

Die in der Konfigurationsdatei des Apache Servers gesetzte Direktive AllowOverride legt fest, ob und welche Direktiven in dem benutzereigenen .htaccess-Datei übersteuert werden dürfen und welche nicht.

Mögliche Werte für AllowOverride sind

  • All : Erlaubt das Setzen aller Direktiven, die in der Datei .htaccess erlaubt sind.
  • None : .htaccess-Dateien werden komplett ignoriert.
  • AuthConfig : Erlaubt die Verwendung von Autorisierungs-Anweisungen
  • FileInfo : Erlaubt die Verwendung von Direktiven zur Steuerung der Dokumenttypen
  • Indexes : Erlaubt die Verwendung von Direktiven zur Steuerung von Verzeichnisindizes
  • Limit : Erlaubt die Verwendung von Direktiven zur Steuerung des Zugriffs von Hosts
  • Options : Erlaubt die Verwendung von Direktiven zur Steuerung spezieller Verzeichniseigenschaften

Die Direktiven AccessFileName und AllowOverride werden in den Konfigurationsdateien für den HTTP-Server vom Systemmanager festgelegt und können vom Benutzer nicht beeinflußt werden.

In diesem Tutorial wird an Beispielen erläutert, welche Zugriffssteuerungen möglich sind, wenn serverseitig für AllowOverride die Werte

angegeben werden.

Weiterhin gibt es Direktiven, die immer dann freigeschaltet sind, wenn nicht mit AllowOverride None alles verboten ist. Diesen Direkiven ist kein AllowOverride-Attribut zuzuordnen und werden deshalb unter

beschrieben.

Syntaxfehler

Syntaxfehler in der .htaccess-Datei haben die Fehlermeldung

Internal Server Error
The server encountered an internal error or misconfiguration and was unable 
to complete your request.

zur Folge. Die Dokumente des Verzeichnisses und aller Unterverzeichnisse werden vom Server solange nicht ausgeliefert bis der Syntaxfehler behoben ist.

Literatur: