In diesem Artikel
Was ist .htaccess?
Die Datei .htaccess (Hypertext Access) ist eine Konfigurationsdatei auf Verzeichnisebene für Apache-Webserver. Sie ermöglicht es dir, Servereinstellungen pro Verzeichnis zu überschreiben, ohne die Hauptkonfiguration des Servers zu bearbeiten. Zu den gängigen Einsatzzwecken zählen URL-Weiterleitungen, Zugriffskontrolle, Caching-Regeln und benutzerdefinierte Fehlerseiten.
Die .htaccess-Datei wird von Apache bei jeder Anfrage an das Verzeichnis gelesen, in dem sie liegt, sodass Änderungen sofort wirksam werden -- ohne Server-Neustart. Diese Bequemlichkeit macht sie zur Standardmethode für die Apache-Konfiguration in Shared-Hosting-Umgebungen, in denen du keinen Zugriff auf die zentrale httpd.conf hast.
So funktioniert die .htaccess-Konfiguration
Apache verarbeitet .htaccess-Direktiven über sein Modulsystem, wobei mod_rewrite das am häufigsten genutzte Modul für die URL-Manipulation ist.
- URL-Umschreibung und Weiterleitungen -- mod_rewrite-Regeln wandeln URLs mithilfe regulärer Ausdrücke um und ermöglichen saubere URLs, das Erzwingen von HTTPS und Domain-Weiterleitungen
- Caching und Komprimierung -- setze Browser-Caching-Header mit mod_expires und aktiviere GZIP-Komprimierung mit mod_deflate, um die Ladezeit der Seiten zu verbessern
- Zugriffskontrolle -- schränke den Zugriff nach IP-Adresse ein, verlange eine Authentifizierung mit .htpasswd-Dateien oder blockiere bestimmte User Agents und Bots
Kostenlos testen – keine Registrierung erforderlich
.htaccess-Regeln generieren →Wann du einen .htaccess-Generator verwenden solltest
.htaccess-Regeln von Hand zu schreiben, erfordert Kenntnisse der Apache-Direktivensyntax und regulärer Ausdrücke. Ein Generator vereinfacht gängige Konfigurationen.
- HTTPS-Erzwingung -- leite mit einer einzigen Regel den gesamten HTTP-Verkehr auf HTTPS um und stelle so sichere Verbindungen auf deiner gesamten Website sicher
- Hotlink-Schutz -- verhindere, dass andere Websites deine Bilder und Dateien einbetten, indem du Anfragen mit externen Referrer-Headern blockierst
- Benutzerdefinierte Fehlerseiten -- definiere markenkonforme 404- und 500-Fehlerseiten statt der Apache-Standardseiten und verbessere so das Nutzererlebnis bei Fehlern
Häufig gestellte Fragen
Was ist der Unterschied zwischen .htaccess und httpd.conf?
httpd.conf ist die zentrale Apache-Konfigurationsdatei, die einmalig beim Serverstart geladen wird. .htaccess-Dateien werden bei jeder Anfrage gelesen und gelten nur für ihr Verzeichnis. httpd.conf ist schneller, weil dateibezogene Lesevorgänge pro Anfrage entfallen, doch .htaccess ist unverzichtbar, wenn du die Serverkonfiguration nicht direkt ändern kannst, etwa beim Shared Hosting.
Beeinträchtigt .htaccess die Serverleistung?
Ja, geringfügig. Apache muss bei jeder Anfrage in jedem Verzeichnis des URL-Pfads nach .htaccess-Dateien suchen und sie einlesen. Bei stark frequentierten Websites mit Serverzugriff eliminiert das Verschieben der Direktiven in die httpd.conf und das Deaktivieren von AllowOverride diesen Overhead. Für die meisten Websites ist die Auswirkung vernachlässigbar.
Was ist das Nginx-Äquivalent zu .htaccess?
Nginx unterstützt keine .htaccess-Dateien. Die gesamte Konfiguration erfolgt im Server-Block innerhalb der nginx.conf oder in seitenspezifischen Konfigurationsdateien. Nginx lädt die Konfiguration nur bei expliziten Reload-Befehlen neu, was effizienter ist, aber für jede Änderung Serverzugriff erfordert.