.htaccess
.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 Passwortschutz 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. Diese Dateien 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.
Die Namensgebung kommt daher, dass versteckte Dateien im Unix-Dateisystemen mit einem Punkt beginnen. .htaccess-Konfigurationsdateien können daher nicht per HTTP aufgerufen werden, da sie automatisch versteckt werden. Sie können nur durch FTP oder SSH/SCP angesehen oder bearbeitet werden, sodass niemand ohne Berechtigung über das Internet Informationen aus diesen Dateien lesen kann.
Funktionen
Passwortschutz
Eine häufige Anwendung von .htaccess-Dateien ist der Passwortschutz für Webseiten. 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
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
Weitere Funktionen
Weitere Funktionen, die häufig zum Einsatz kommen, sind IP-Sperren oder auch Weiterleitungen.
# Beispiel für IP-Sperren Order deny,allow 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.
# Beispiel für Weiterleitungen Redirect / http://www.wikipedia.de/