English
Server, HTTP & Caching

.htaccess

Auch genannt: htaccess-Datei, verteilte Konfigurationsdatei

Die .htaccess ist eine Konfigurationsdatei des Apache HTTP Servers, mit der sich Einstellungen für ein einzelnes Verzeichnis ändern lassen, ohne die Hauptkonfiguration des Servers anzufassen. Ihre Regeln gelten für das Verzeichnis, in dem sie liegt, und für alle Unterverzeichnisse.

Wie funktioniert die .htaccess?

Ob Apache die Datei überhaupt beachtet, entscheidet die Direktive AllowOverride. Ihr Standardwert ist None, dann wird die Datei ignoriert. Freigegeben werden Kategorien, etwa FileInfo für Weiterleitungen und AuthConfig für Passwortschutz. Liegen mehrere Dateien in verschachtelten Verzeichnissen, überschreibt die tiefer liegende die höhere.

Apache rät selbst zur Hauptkonfiguration, wenn Zugriff darauf besteht. Mit aktivierter .htaccess sucht der Server bei jeder Anfrage in allen Verzeichnissen auf dem Pfad nach der Datei und liest sie jedes Mal neu ein.

Für SEO ist die Datei vor allem aus drei Gründen relevant. Über das Modul mod_rewrite setzt sie Weiterleitungen und URL-Umschreibungen um. Sie kann HTTP-Header setzen, zum Beispiel X-Robots-Tag für PDFs, wie es Google an einem Apache-Beispiel zeigt. Und sie liefert Fehlerseiten und Zugriffsschutz für Verzeichnisse.

Beispiel

Eine 301-Weiterleitung von einer alten auf eine neue URL:

Apache
RewriteEngine On
RewriteRule ^alte-seite/?$ /neue-seite/ [R=301,L]

R=301 löst die Weiterleitung mit Status 301 aus, L beendet die Verarbeitung weiterer Regeln. In der .htaccess braucht mod_rewrite zusätzlich Options FollowSymLinks oder SymLinksIfOwnerMatch und AllowOverride FileInfo.

X-Robots-Tag für alle PDF-Dateien:

Apache
<Files ~ "\.pdf$">
  Header set X-Robots-Tag "noindex, nofollow"
</Files>

Häufige Fehler

  • Syntaxfehler. Apache reagiert laut Berichten sehr empfindlich auf Syntax, schon kleine Fehler können einen Serverfehler 500 auslösen.
  • Regeln stehen in der falschen Reihenfolge. mod_rewrite arbeitet Regeln der Reihe nach ab, ohne L laufen weitere Regeln durch.
  • Datei im falschen Verzeichnis. Regeln wirken nur ab dem Ordner, in dem die Datei liegt.
  • Kein Backup vor der Änderung. Eine fehlerhafte Datei kann Serverfehler auslösen, und eine Sicherung erlaubt den schnellen Rückweg.

Häufige Fragen

Wo muss die .htaccess liegen? In dem Verzeichnis, für das die Regeln gelten. Für die ganze Website liegt sie im obersten Verzeichnis der Website.

Funktioniert die .htaccess auf jedem Server? Sie ist ein Mechanismus von Apache. Ob sie auf einem Hosting-Paket wirkt, hängt von AllowOverride und den Einstellungen des Anbieters ab.

Quellen

  1. Apache HTTP Server Tutorial: .htaccess-Dateien – Apache HTTP Server Projecthttpd.apache.org
  2. mod_rewrite – Apache HTTP Serverhttpd.apache.org
  3. Robots-Meta-Tag und X-Robots-Tag – Google Search Centraldevelopers.google.com
  4. htaccess – SELFHTMLwiki.selfhtml.org

Stand: