Die .htaccess-Datei ist ein mächtiges und gleichzeitig einfach zu bedienendes Werkzeug zur Steuerung von Webservern. Mit wenigen Zeilen Code lassen sich große Effekte erzielen. Einge der nützlichsten Einstellungen werden hier beschrieben.
Die meisten der gängigen Webserver verfügen über eine oder mehrere Steuerungsdateien, die den Namen .htaccess tragen. Zu diesen Servern gehören all diejenigen, die NCSA-kompatibel sind, wobei die Abkürzung für "National Center for Supercomputing Applications" steht. Der bekannteste Vertreter dieser Server ist sicherlich Apache, ein Nachfolger des NCSA HTTPd.
Auf einem Webserver kann es pro Verzeichnis eine .htaccess-Datei geben. Meistens liegt diese Datei im Wurzelverzeichnis der jeweiligen Domain. Es handelt sich um einfache Textdateien, die man mit einem simplen Editor erstellen und bearbeiten kann. Mit diesen Dateien lassen sich Weiterleitungen einrichten, Zugangssperren aufbauen oder individuelle Fehlerseiten anlegen. Einige der interessantesten Dinge, die per .htaccess möglich sind, beschreibt ein aktueller Artikel im neuen Digital Guide der 1&1.
Nachfolgend werden einige der Highlights aus diesem Artikel beschrieben.
Weiterleitungen einrichten
Es kommt immer wieder vor, dass eine URL nicht mehr gültig ist und deshalb eine Weiterleitung auf eine neue URL eingerichtet werden muss. Das ist zum Beispiel dann der Fall, wenn auf eine neue Domain umgezogen wird oder auch bei einem Umbau oder Relaunch einer Webseite.
Glücklicherweise sind Weiterleitungen per .htaccess sehr einfach zu definieren. Um beispielsweise eine dauerhafte 301-Weiterleitung von URL A auf URL B einzurichten, genügt der folgende Code:
RewriteEngine On
Redirect 301 domain.tld/url-a.html domain.tld/url-b.html
Per RewriteEngine On
wird zunächst die für Weiterleitungen zuständige Apache-Erweiterung mod_rewrite aktiviert (das muss nur einmal geschehen und nicht für jeden Redirect). Anschließend wird die auszuführende Weiterleitung definiert - fertig.
IP-Adressen blockieren
Per -htaccess lässt sich der Zugriff einzelner Domains, IP-Adressen oder sogar kompletter IP-Bereiche regeln. Man kann auch Ge- und Verbote kombinieren, um Ausnahmen zu erreichen:
Order deny,allow
Deny from .yahoo.com
Deny from 192.168
Allow from 192.168.101.102
Durch die Order
-Anweisung wird die Reihenfolge der Interpretation bestimmt. Im aktuellen Beispiel wird also zuerst der zu sperrende Teil ausgewertet, gefolgt von den Ausnahmen.
Weiterleitung von HTTP auf HTTPS
Ein sehr aktuelles Thema ist die Umstellung von Webseiten auf das sichere TLS-Protokoll (HTTPS) - nicht zuletzt aus dem Grund, dass Google für solche Webseiten Rankingvorteile in Aussicht gestellt hat. Damit nach einer Umstellung auf TLS die Aufrufe an die alten, unverschlüsselten URLs an die neuen HTTPS-URLs weitergeleitet werden, kann man per .htaccess eine Weiterleitung definieren:
RewriteEngine On
RewriteCond %{Server_Port} !=443
RewriteRule ^(.*)$ https://ihredomain.tld/$1 [R=301, L]
Wie bereits oben beschrieben, muss die Anweisung RewriteEngine On
nur einmal in der .htaccess definiert werden. Die sich daran anschließenden Anweisungen im Beispiel sorgen dafür, dass alle Anfragen an nicht sichere URLs an die jeweilige HTTPS-Variante weitergeleitet werden (per 301-Redirect, also permanent).
Eigene Fehlerseite definieren
Auch im Fehlerfall möchte man den Nutzern gerne nützliche Informationen anbieten. Leider sind viele der generischen Fehlerseiten, die von Webservern ausgeliefert werden, wenig ansehnlich und schrecken eher ab, als dass sie eine Hilfe darstellen. Individuelle Fehlerseiten sollten stattdessen weiterführende Links oder auch eine Suchefunktion enthalten, damit sich die Nutzer weiter orientieren können.
Per .htaccess kann man festlegen, was im Fehlerfall geschehen soll - etwa dann, wenn eine angeforderte Seite nicht verfügbar ist (404-Fehler):
ErrorDocument 404 www.domain.tld/verzeichnispfad/404.html
Damit wird der Webserver angewiesen, im entsprechende Fall die unter der angegebenen URL liegende Seite auszuspielen. Bei der URL kann es sich um eine eigene Seite handeln, aber auch um eine externe URL.
Das sind nur einige Beispiele für die Einsatzmöglichkeiten der .htaccess-Datei. Weitere nützliche Tipps und Tricks sind hier zu finden.