Registrieren Passwort vergessen?

.htaccess

11. Nov 2008, 11:30

.htaccess (engl. Hypertext Access – „Hypertext-Zugriff“) ist eine Konfigurationsdatei, in der verzeichnisspezifische Einstellungen auf NCSA-kompatiblen Webservern (z. B. Apache) vorgenommen werden können. Beispielsweise lässt sich dort ein Zugriffsschutz für ein Verzeichnis oder einzelne Dateien einrichten. Aber auch Fehlerseiten oder interne Verknüpfungen („Rewrite Rules“) lassen sich hierüber einstellen, ohne den Server neustarten zu müssen: Änderungen in der .htaccess-Datei treten sofort in Kraft. In diesen Dateien vorgenommene Einstellungen gelten im Gegensatz zu zentralen Konfigurationsdateien (z. B. httpd.conf) nur für das Verzeichnis, in dem sie gespeichert sind, sowie allen Unterverzeichnissen. Sie können in den Unterverzeichnissen jedoch wieder überschrieben werden.

Inhaltsverzeichnis

[Bearbeiten] Funktionen

[Bearbeiten] Authentifizierung

Eine häufige Anwendung von .htaccess-Dateien ist der Schutz von Dateien und Verzeichnissen durch eine HTTP-Authentifizierung. Einige typische Anweisungen dafür:

# Beispieldatei für .htaccess
AuthType Basic
AuthName "Administrationsbereich"
AuthUserFile /usr/admin/web/.htusers
AuthGroupFile /usr/admin/web/.htgroups
Require user Benutzer1 Benutzer2 Benutzer3
Require group Administratoren

[Bearbeiten] Verzeichnisindizierung verhindern

Der Inhalt im Verzeichnis wird nicht mehr aufgelistet, stattdessen wird ein Hinweis angezeigt, dass man kein Zugriffsrecht hat.

Options -Indexes

[Bearbeiten] Fehlerseiten

Je HTTP-Statuscode kann eine individuelle Fehlerseite angegeben werden. Durch den entsprechenden Eintrag in der .htaccess-Datei wird der Statuscode der Fehlerseite zugeordnet. Hier ein Beispiel für einen üblichen „404-Fehler“ (not found):

ErrorDocument 404 /fehlerseite404.htm

Sollte der Webserver auf Windows Installiert sein, muss die Schreibweise wie folgt aussehen:

ErrorDocument 404 fehlerseite404.htm

[Bearbeiten] Veränderte HTTP-Statuscodes

Mit hilfe der .htaccess-Dateien lassen sich auch die vom Server gesendeten HTTP-Statuscodes modifizieren um zum Beispiel dem Client anzuzeigen, dass eine Datei nicht mehr vorhanden ist

# Beispiel für Veränderung des HTTP-Statuscodes (In diesem Fall "410 - Gone")
Redirect Gone /datei_die_nicht_mehr_vorhanden_ist.html

# Alternativ ist auch diese Schreibweise möglich:
Redirect 410 /datei_die_nicht_mehr_vorhanden_ist.html


Auch das Senden von anderen HTTP-Statuscodes ist somit möglich. Ein weitere Anwendungsmöglichkeit wäre zum Beispiel das Senden von "503 - Service Temporarily Unavailable" . Bei diesem Statuscode jedoch muss die Schreibweise so aussehen:

# Möglichkeit um für das gesamte Web-Verzeichnis einen "Service Temporarily Unavailable" anzeigen zu lassen.
  Redirect 503 /

[Bearbeiten] Weitere Funktionen

[Bearbeiten] IP-Sperren

# Beispiel für IP-Sperren
Order allow,deny
Allow from all
Deny from www.google.de 127.0.0.1

Um bei diesem Beispiel auch mit Hostnamen anstatt IP-Adressen arbeiten zu können, muss unter Umständen noch die Option:

HostnameLookups On

vorangestellt werden, damit der Webserver auch die IP-Adresse auflösen kann.

Order allow,deny bedeutet, zuerst werden alle allow-Regeln abgearbeitet und danach alle deny-Regeln. Macht man es anders herum, würde der Zugriff von www.google.de und 127.0.0.1 zwar im ersten Schritt verboten, da danach aber Allow from all abgearbeitet wird, werden zuvor gesperrte IP's und Hosts wieder erlaubt.

[Bearbeiten] Weiterleitungen

# Beispiel für Weiterleitungen
Redirect / http://www.wikipedia.de/

[Bearbeiten] Siehe auch

[Bearbeiten] Weblinks

Dieser Artikel ist eine Kopie aus der freien Enzyklopädie Wikipedia. Am Originalartikel kann jeder Korrekturen und Ergänzungen vornehmen. Zudem kann man frühere Versionen einsehen.
In Kooperation mit Lycos Europe Network