Jörg Kruse Internet-
Programmierungen

.htaccess Datei

.htaccess Dateien sind Konfigurationsdateien des Webservers Apache für User, die keinen Zugriff auf die Hauptkonfiguration haben. Die darin enthaltenen Direktiven gelten für das Verzeichnis, in welchem die Datei gespeichert ist. Der Server-Admin kann mit der Direktive AllowOverride festlegen, welche Direktiven in .htaccess Dateien verwendet werden dürfen. Andere Webserver, wie z.B. nginx, interessieren sich nicht für den Inhalt von .htaccess Dateien.

Dateiname und -format

Bei der Erstellung mit einem Editor unter Windows muss darauf geachtet werden, dass dieser nicht die Endung .txt an den Dateinamen hängt. Zudem ist auch der Punkt am Anfang unverzichtbar. Unter Unix / Linux werden Dateien mit einem Punkt am Anfang von manchen Tools (wie z.B. ls) nur angezeigt, wenn eine betreffende Option angegeben wird (z.B. ls -a). Ähnliches gilt für manche FTP-Programme, die ggf. so eingestellt werden müssen, dass sie „versteckte Dateien“ einblenden, damit .htaccess Dateien angezeigt werden. Der Webserver Apache ist zudem aus Sicherheitsgründen standardmäßig so konfiguriert, dass er eine Anfrage nach einer Datei, die mit den Zeichen .ht beginnt (.htaccess, .htusers), mit dem Status Code 403 „Forbidden“ beantwortet.

Beim Bearbeiten unter Windows sollte darauf geachtet werden, dass kein BOM in der .htaccess Datei gespeichert wird. Das Hochladen der Datei per (S)FTP auf einen Linux-Server sollte im ASCII-Modus erfolgen.

Performance

Hat man als Server-Admin schreibenden Zugriff auf die Haupt-Konfiguration des Apachen (in Linux unterhalb von /etc/apache2), so sollte man Direktiven nicht in .htaccess Dateien, sondern in der jeweiligen VirtualHost-Datei (ggf. im passenden <Directory> Container) eintragen. Mit der Direktive „AllowOverride None“ stellt man sicher, dass der Webserver keine .htaccess Dateien mehr für diesen Host einliest, was der Performance zugute kommt.

Fragen zur .htaccess Datei:
Webserver und .htaccess Forum