htaccess kommt aus dem Englischen und bedeutet „hypertext access“, also übersetzt Hypertext-Zugriff. .htaccess-Dateien sind Konfigurationsdateien für Verzeichnisse, die auf dem eigenen Webserver liegen. Damit die in der .htaccess-Datei aufgestellten Regeln greifen können, muss der Webserver NCSA-kompatibel sein, wie beispielsweise Apache.
Die Vorgehensweise des Webservers wird eigentlich in einer anderen zentralen Konfigurationsdatei definiert – der httpd.conf. Diese liegt allerdings an einer Stelle im Programmverzeichnis des Webservers, auf die Webmaster in der Regel keinen Zugriff haben. Soll der Benutzer das Recht erhalten, die dort festgelegten Angaben selbst zu gestalten, wird die Nutzung von .htaccess-Dateien notwendig.
.htaccess-Dateien sind Bestandteile der Konfiguration des Webservers und bieten u.a. folgende Möglichkeiten:
- Zugriffsschutz für Verzeichnisse anlegen
- Weiter-/ Umleitungen und Fehlermeldungen einrichten
- URL-Struktur ändern
.htaccess-Dateien gelten jeweils für das gesamte Verzeichnis, in dem sie abgespeichert sind und für alle Unterverzeichnisse, die von dort abgehen. Möchte man in einem Unterverzeichnis andere Regeln anwenden, muss dort erneut eine .htaccess-Datei erstellt werden, die die Inhalte der darüberliegenden Datei überschreibt.
Die Erstellung einer .htaccess-Datei ist einfach: Man benötigt lediglich einen Texteditor, verfasst die gewünschten Regeln und speichert sie anschließend unter „Dateityp: alle Dateien“ ab.
Beispiel für eine 301-Weiterleitung mittels einer .htaccess-Datei: Möchte ich meine gesamte Domain ohne „www“ (http://beispiel.de) auf die Variante mit „www“ (http://www.beispiel.de) umleiten, um Duplicate Content zu vermeiden, würde dies in der Datei wie folgt aussehen:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.de [NC]
RewriteRule (.*) http://www.domain.de/$1 [R=301,L]
Die Datei muss anschließend im Hauptverzeichnis der Domain abgelegt werden. Des Weiteren muss für solch eine Weiterleitung die mod_rewrite Engine des Apache Servers aktiviert sein, was jedoch meist der Fall ist. Dass sich vor dem Dateinamen ein Punkt befindet, ist auf das Betriebssystem Unix zurückzuführen. Dort werden verzeichnisbezogene Konfigurationsdateien oft als versteckt markiert, indem ein Punkt vor dem eigentlichen Dateinamen eingefügt wird.