htaccess

Mit htaccess kann Passwortschutz, URL-Rewriting und vieles mehr betrieben werden. Erfahre hier mehr über htaccess und den damit verbundenen Möglichkeiten.

Die Htaccess-Datei beinhaltet eine ordnerspezifische Konfiguration beim Webserver Apache. Sie wird als .htaccess gespeichert und erlaubt die Verwaltung von Zugriffsrechten, das Setzen von Einstellungen oder von Fehlerseiten. Insbesondere bei Shared Hostings erlaubt es eine (begrenzte) Veränderung des Verhaltens des Webservers für das aktuelle Verzeichnis und die Unterverzeichnisse der Nutzer*innen, ohne dass andere Kunden*innen betroffen werden.

 

Mögliche Verwendungen der Htaccess-Datei

URL-Rewriting

Ein weit verbreiteter Einsatzzweck für die Htaccess-Datei ist die Definition von Weiterleitungen oder Umschreiben der empfangenen URL. Dazu werden bestimmte Bedingungen (Rewrite Condition) definiert, bei deren Erfüllung eine oder mehrere Regeln (Rewrite Rule) angewendet werden. Die empfangene URL wird also bezüglich den Bedingungen geprüft und, falls die Bedingungen erfüllt sind, entsprechend der Regel angepasst. 

Diese Verwendung wird vor allem bei folgenden zwei Szenarien angewendet:

  • Short-URLs: Heutige Webseiten verwenden sogennante Short- oder Pretty-URLs. Dabei werden Adressen als domain.ch/kategorie/subkategorie/seite herausgegeben und durch entsprechende Anweisungen in der Htaccess-Datei ausgewertet und der effektiven Seite im System zugewiesen.
  • Weiterleitungen: Mit dem Rewriting können auch komplexe Weiterleitungen erstellt werden. Von einer einfachen, globalen Weiterleitung an ein anderes Verzeichnis bis zu bedingten, mehrfachen Weiterleitungen für Teilbereiche der Seite lassen sich aufwändige Systeme etablieren.

 

Optionen aktivieren/deaktivieren

Über die Konfiguration können Optionen wie die Auflistung der Dateien, das automatische Auflösen von internen Verknüpfungen oder die Ausführung von sogenannten CGI-Skripten gesteuert werden. So lassen sich die generellen Einstellungen überschreiben oder ergänzen und das Verhalten spezifisch für das Verzeichnis anpassen.

 

Passwortschutz

Über .htaccess kann der Zugriff auf ein Verzeichnis mit einer sogenannten HTTP-Authentifizierung gesichert werden. Diese einfache Zugriffssteuerung empfiehlt sich insbesondere, wenn ein System vollständig gegen aussen gekapselt ist und keinen öffentlichen Bereich aufweist oder dieser auf Verzeichnisebene getrennt werden kann. Zusätzlich muss in diesem Fall eine .htpassword-Datei erstellt werden, welche die Benutzername-Passwort-Paare enthält.

 

Weiteres

Die Htaccess-Datei erlaubt auch die Konfiguration des Verhaltens für Dateitypen, die Steuerung des Caches oder die Freigabe oder Sperrung des Verzeichnisses für einzelne IP-Adressen.

 

Vorteile und Nachteile

Die Htaccess bietet insbesondere den Vorteil, dass Änderungen sich sofort ohne Neustart des Webservers auswirken. Zudem können so bei Shared Hostings kontospezifische Einstellungen gesetzt werden, ohne andere Nutzer*innen zu beeinträchtigen. Jedoch wirken sich die zusätzlichen Einstellungen auf die Performanz des Webservers aus. Ausserdem sind fehlerhafte Konfigurationen häufig Quellen von Sicherheitsproblemen oder Fehlern des Servers.

 

Beispiel

Als Beispiel wird hier die Standard-Htaccess-Datei von Wordpress eingefügt, welche Short-URLs verarbeitet:


RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

In diesen Anweisungen wird zuerst geprüft, ob das Umschreibemodul vorhanden ist und anschliessend aktiviert. Zeilen 3 bis 5 definieren die Basis des URL-Rewritings (RewriteBase / = alles nach der Domain) und die Bedingungen:

  • die angeforderte URL ist keine Datei (%{REQUEST_FILENAME} !-f)
  • die angeforderte URL ist kein Verzeichnis (%{REQUEST_FILENAME} !-d).

Zu guter Letzt werden alle Anfragen an die index.php im Verzeichnis der Htaccess-Datei weitergeleitet.

Themen:
Webentwicklung, htacess