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
wird üblicherweise beibehalten. Deshalb wird in diesem Tutorial die benutzereigene Datei für die Zugriffssteuerung des Webservers .htaccess genannt.
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.