Htaccess
.htaccess
Eine .htaccess-Datei ist eine Konfigurationsdatei des Apache-Webservers, die zur Festlegung von verzeichnisbezogenen Regeln dient. Der Begriff „htaccess” steht für „hypertext access” und stellt einen wichtigen Bestandteil der Serverkonfiguration dar. Mit ihr kann der Zugriff auf bestimmte Verzeichnisse und Daten auf einem Server gesteuert werden.

Über den .htaccess-Dateien für einzelne Verzeichnisse stehen die zentralen Konfigurationsdateien (httpd.conf), die die grundlegende Arbeitsweise eines Apache-Webservers regeln. Diese Dateien befinden sich im Verzeichnis des Webservers und sind für Nutzer, die ein Web-Projekt verwalten, in der Regel nicht direkt zugänglich.
Soll ein Benutzer die Berechtigung erhalten, die bestehenden Konfigurationen für ein einzelnes Verzeichnis zu überschreiben, wird ihm der Zugriff auf die .htaccess-Datei erlaubt. Alle Einstellungen treten sofort in Kraft, ohne dass ein Neustart des Webservers erforderlich ist.
Erstellung einer .htaccess-Datei
.htaccess-Dateien sind einfache Textdateien, die mit einem Texteditor wie Notepad++ bearbeitet werden können. Beim Speichern wählt man als Dateityp „Alle Dateien” und gibt .htaccess als Dateinamen ein. Viele Server bieten ihren Nutzern Remote-Zugang, sodass .htaccess-Dateien direkt auf dem Server erstellt und bearbeitet werden können.
Die Konfigurationsdateien gelten für das Verzeichnis, in dem sie abgelegt werden, und für alle zugehörigen Unterverzeichnisse. Soll eine zusätzliche Konfiguration in einem Unterverzeichnis gelten, muss dort eine eigene .htaccess-Datei erstellt werden.
Verwendung der .htaccess-Datei
Typische Einsatzbereiche der .htaccess-Datei sind:
- Zugriffssteuerung für Verzeichnisse und Dateien
- Umleiten und Umschreiben von URLs
- Verwaltung von Fehlerdokumenten (z. B. 404-Seiten)
- Einrichten von passwortgeschützten Bereichen
Umschreiben von dynamischen in statische URLs
Das Umschreiben von URLs wird mithilfe des Apache-Moduls mod_rewrite durchgeführt. Dieses Modul wird hauptsächlich eingesetzt, um dynamische URLs in statische umzuschreiben, damit sie für Menschen und Suchmaschinen leichter lesbar sind:
RewriteEngine On
RewriteRule (.*)_(.*).html$ /example.php?url_isbn=$1
In diesem Beispiel wird die dynamische URL in eine lesbare Form umgeschrieben, wobei $1 eine Rückreferenz darstellt.
Erstellen von passwortgeschützten Bereichen
Wer passwortgeschützte Bereiche einrichten möchte, kann dies ebenfalls mit der .htaccess-Datei tun:
AuthType Basic
AuthName "Geschützter Bereich"
AuthUserFile /.htpasswd
AuthPGAuthoritative Off
require user User1 User2 User3 User4
Die .htpasswd-Datei mit den Benutzern und verschlüsselten Passwörtern wird separat erstellt:
User1:dsdR4578
User2:tTr84546
User3:dFd87f4d
User4:qOkp8745
Weiterleitungen
Ein weiterer wichtiger Anwendungsbereich sind Weiterleitungen (Redirects). Diese Technik ermöglicht es, Anfragen auf eine neue URL umzuleiten, was besonders nützlich ist, wenn eine Website auf eine neue Domain umzieht:
RewriteCond %{REQUEST_URI} (.*)
RewriteRule ^(.*)$ http://new-domain.tld/$1
Auch für das Weiterleiten einzelner Dateien kann .htaccess genutzt werden:
Redirect 301 /old-path/file.html http://www.example.com/new-path/file.html
Mit diesen Beispielen lassen sich die häufigsten Anwendungsfälle abdecken: Zugriff steuern, URLs umschreiben und Weiterleitungen einrichten.