.htaccess

Die .htaccess (kurz für „hypertext access“) ist eine Konfigurationsdatei für Webserver, vor allem für den weit verbreiteten Apache-Server. Mit ihr lassen sich Regeln für einzelne Verzeichnisse einer Website festlegen, ohne die zentrale Serverkonfiguration zu ändern. Sie gilt für das Verzeichnis, in dem sie liegt, und alle Unterverzeichnisse. Ein klassisches Einsatzgebiet ist der Zugriffsschutz: Mit einer .htaccess lässt sich ein Verzeichnis per HTTP-Authentifizierung schützen – ruft jemand die Adresse auf, erscheint ein Fenster, das Benutzername und Passwort abfragt. Das wird zum Beispiel genutzt, um eine Staging- oder Testumgebung eines Shops vor Besuchern und Suchmaschinen zu verbergen. Ursprünglich stammt das Konzept vom NCSA-Webserver, einem der ersten Webserver überhaupt. Andere Server wie nginx kennen keine .htaccess; dort werden die gleichen Regeln direkt in der Serverkonfiguration hinterlegt.
Einsatzmöglichkeiten der .htaccess
Die .htaccess ist eine einfache Textdatei mit verschiedenen Anweisungen. Zu den häufigsten Anwendungen gehören: Weiterleitungen einrichten, etwa 301-Weiterleitungen von alten auf neue URLs nach einem Relaunch; HTTPS erzwingen und eine einheitliche Domain-Variante festlegen (mit oder ohne www); eigene Fehlerseiten definieren, etwa für 404-Fehler; bestimmte IP-Adressen sperren; Caching- und Komprimierungsregeln setzen, um Ladezeiten zu verbessern; und URLs umschreiben (mod_rewrite), sodass sprechende Adressen statt technischer Parameter angezeigt werden. Änderungen an der .htaccess wirken sofort, weil der Server die Datei bei jeder Anfrage neu einliest.
Genau das kann allerdings zum Performance-Problem werden. Enthält eine .htaccess sehr viele Regeln – etwa Tausende einzelne Weiterleitungen nach einem großen Shop-Relaunch –, muss der Server sie bei jedem Seitenaufruf abarbeiten. Bei großen Weiterleitungslisten ist es deshalb besser, mit Mustern (regulären Ausdrücken) zu arbeiten, die Regeln in die zentrale Serverkonfiguration zu verlagern oder Weiterleitungen über das Shopsystem zu verwalten. Auch die Reihenfolge der Regeln ist wichtig, damit keine Weiterleitungsketten oder -schleifen entstehen. Fehler in der .htaccess können eine Website komplett lahmlegen; Änderungen sollten deshalb immer zuerst in einer Testumgebung geprüft werden. In gehosteten Systemen wie Shopify gibt es übrigens keinen Zugriff auf die .htaccess; Weiterleitungen werden dort im Admin-Bereich angelegt.
Beispiel .htaccess von Shopware:
)