Was ist .htaccess?
Die .htaccess (Hypertext Access) ist eine Konfigurationsdatei für Apache-Webserver. Sie ermöglicht serverseitige Einstellungen auf Verzeichnisebene – ohne Zugriff auf die Hauptkonfiguration (httpd.conf) zu benötigen.
Mit .htaccess kannst du Redirects einrichten, URLs umschreiben, Zugriff beschränken, Caching aktivieren und vieles mehr. Die Datei wird im Root-Verzeichnis deiner Website oder in Unterordnern platziert und gilt für das jeweilige Verzeichnis sowie alle Unterverzeichnisse.
Wichtige .htaccess Regeln
HTTPS erzwingen: Leitet alle HTTP-Anfragen auf HTTPS um. Wichtig für SEO und Sicherheit – Google bevorzugt verschlüsselte Seiten. www-Redirect: Vereinheitlicht URLs mit oder ohne www (wichtig für SEO, um Duplicate Content zu vermeiden).
301-Redirects: Permanente Weiterleitungen für umgezogene Seiten. Überträgt SEO-Wert auf die neue URL.URL Rewrite: Macht URLs benutzerfreundlich (z.B. /produkt/123 statt /index.php?id=123).
Performance optimieren
GZIP-Komprimierung: Reduziert die Dateigröße von HTML, CSS und JavaScript um 60-80%. Beschleunigt die Ladezeit erheblich.Browser-Caching: Definiert, wie lange Browser statische Dateien speichern sollen – reduziert Server-Anfragen bei wiederkehrenden Besuchern.
Expires-Header: Legt Cache-Zeiträume fest. Bilder und Fonts können monatelang gecacht werden, CSS und JS bei häufigen Updates kürzer. ETags: Können deaktiviert werden, um doppelte Validierung zu vermeiden.
Sicherheit erhöhen
Verzeichnislistung deaktivieren: Verhindert, dass Besucher Ordnerinhalte durchsuchen können (Options -Indexes).Dateizugriff sperren: Schützt sensible Dateien wie .env, wp-config.php oder Backup-Dateien vor direktem Zugriff.
Hotlinking verhindern: Blockiert andere Websites, die deine Bilder direkt einbinden und deine Bandbreite verbrauchen.XSS-Schutz: Security-Header wie X-XSS-Protection und X-Content-Type-Options aktivieren.
mod_rewrite verstehen
Das Apache-Modul mod_rewrite ist das Herzstück für URL-Umschreibungen. Grundstruktur: RewriteEngine On aktiviert das Modul, RewriteCond definiert Bedingungen, RewriteRule führt die Umschreibung aus.
Flags: [L] = letzte Regel, [R=301] = Redirect mit Statuscode, [NC] = case-insensitive, [QSA] = Query-String anhängen. Die Syntax ist regex-basiert und anfangs gewöhnungsbedürftig.
Häufige Fehler vermeiden
Redirect-Schleifen: Entstehen, wenn eine Regel sich selbst triggert. Lösung: RewriteCond mit Ausschlussbedingungen.500 Internal Server Error: Meist Syntaxfehler – jede Zeile prüfen, besonders Leerzeichen und Sonderzeichen.
Reihenfolge beachten: Regeln werden von oben nach unten abgearbeitet. Spezifische Regeln vor allgemeinen platzieren.Testen: Änderungen immer zuerst im Browser und mit verschiedenen URLs testen.
Hinweis
Die .htaccess funktioniert nur auf Apache-Webservern. Bei nginx, LiteSpeed oder anderen Servern gelten andere Konfigurationsmethoden. Vor Änderungen immer ein Backup der bestehenden .htaccess anlegen. Bei Shared Hosting kann die Funktionalität eingeschränkt sein.