Zum Inhalt springen
BeoHosting
BeoHosting
Technik

Leitfaden zur .htaccess-Datei

BeoHosting Team··10 Min. Lesezeit Lesezeit
Leitfaden zur .htaccess-Datei

Was ist die .htaccess-Datei?

.htaccess (Hypertext Access) ist eine Konfigurationsdatei für Apache- und LiteSpeed-Webserver. Bei BeoHosting bearbeiten Sie sie über das cPanel-Kontrollpanel. Sie befindet sich im Root-Verzeichnis Ihrer Website und ermöglicht es Ihnen, das Verhalten des Servers auf Verzeichnisebene zu steuern – ohne Zugriff auf die Hauptkonfiguration des Servers. Das macht sie auf Shared Hosting, wo Sie keinen Zugriff auf die Datei httpd.conf haben, außerordentlich nützlich.

Der Punkt am Anfang des Namens bedeutet, dass die Datei auf Linux/Unix-Systemen versteckt ist. Manche FTP-Clients und Dateimanager zeigen sie standardmäßig nicht an – prüfen Sie die Optionen zum Anzeigen versteckter Dateien. Im cPanel hat der File Manager in den Einstellungen die Option „Show Hidden Files".

Wo befindet sich die .htaccess-Datei?

Die Haupt-.htaccess-Datei befindet sich im Root-Verzeichnis Ihrer Website (public_html oder htdocs). Die darin enthaltenen Regeln gelten für alle Dateien und Unterverzeichnisse. Sie können zusätzliche .htaccess-Dateien in Unterverzeichnissen mit Regeln haben, die speziell für dieses Verzeichnis gelten – sie überschreiben die Regeln der übergeordneten .htaccess-Datei für Dateien in diesem Verzeichnis.

Weiterleitungen (Redirects)

301 – permanente Weiterleitung

Eine 301-Weiterleitung teilt Suchmaschinen mit, dass die Seite dauerhaft an eine neue Adresse verschoben wurde. Der SEO-Wert (Link Juice) wird auf die neue URL übertragen. Verwenden Sie sie, wenn Sie die URL-Struktur der Website ändern, die Website auf eine neue Domain umziehen oder mehrere URLs zu einer zusammenführen möchten.

  • Weiterleitung einer einzelnen Seite: Redirect 301 /alte-seite /neue-seite – leitet einen bestimmten Pfad auf einen neuen um.
  • Weiterleitung einer gesamten Domain: Verwenden Sie RewriteRule mit einer HTTP_HOST-Bedingung, um den gesamten Traffic von einer Domain auf eine andere umzuleiten.
  • Weiterleitung von www zu non-www: Eine RewriteCond für HTTP_HOST, die das Vorhandensein des www-Präfixes prüft und auf die Version ohne www umleitet (oder umgekehrt).

302 – temporäre Weiterleitung

Eine 302-Weiterleitung ist temporär – sie teilt Suchmaschinen mit, die alte URL im Index zu behalten, weil die Seite möglicherweise zur alten Adresse zurückkehrt. Verwenden Sie sie für temporäre Aktionen, A/B-Tests oder Wartungsarbeiten.

HTTPS erzwingen

Eine der häufigsten Verwendungen von .htaccess ist die Umleitung von HTTP-Traffic auf HTTPS. Dafür benötigen Sie ein installiertes Zertifikat, das HTTPS ermöglicht. Das ist essenziell für die Sicherheit der Website und das SEO-Ranking. Die Regel verwendet RewriteCond, um zu prüfen, ob die Verbindung bereits HTTPS ist (über die HTTPS-Variable oder den X-Forwarded-Proto-Header), und führt, falls nicht, eine 301-Weiterleitung auf die HTTPS-Version derselben URL durch.

Sicherheitsregeln

Schutz des Zugriffs auf sensible Dateien

Blockieren Sie den Zugriff auf Dateien, die nicht öffentlich zugänglich sein sollten. Eine FilesMatch-Direktive mit regulären Ausdrücken kann den Zugriff auf Konfigurationsdateien wie .htaccess, .env, wp-config.php, php.ini und Ähnliche blockieren. Der Server gibt einen 403-Forbidden-Fehler zurück, wenn jemand versucht, auf diese Dateien zuzugreifen.

Verzeichnislisting verbieten

Die Option „Options -Indexes" verhindert, dass Apache eine Dateiliste in einem Verzeichnis ohne Index-Datei anzeigt. Ohne diese Option kann jeder alle Dateien in einem Verzeichnis sehen, indem er einfach die URL des Verzeichnisses aufruft.

Bösartige Bots blockieren

Verwenden Sie RewriteCond mit der Variable HTTP_USER_AGENT, um bekannte bösartige Bots, Scraper und Spam-Crawler zu blockieren. Sie können reguläre Ausdrücke verwenden, um mehrere User-Agent-Strings abzugleichen, und sie auf eine 403-Seite umleiten oder den Zugriff einfach blockieren.

Schutz vor Hotlinking

Hotlinking liegt vor, wenn andere Websites Ihre Bilder direkt von Ihrem Server verwenden und so Ihre Bandbreite verbrauchen. Eine RewriteCond-Regel prüft den HTTP_REFERER-Header und blockiert Bildanfragen (jpg, jpeg, png, gif, svg), die nicht von Ihrer Domain stammen. Sie können hotgelinkte Bilder sogar auf ein Platzhalterbild umleiten, das darauf hinweist, dass Hotlinking blockiert ist.

Caching

Richtig eingerichtetes Caching beschleunigt Ihre Website für wiederkehrende Besucher dramatisch. Der Browser cacht Dateien lokal, sodass er sie nicht bei jedem Besuch erneut herunterladen muss.

Cache-Einstellungen nach Dateityp

Verwenden Sie mod_expires, um zu steuern, wie lange Browser verschiedene Dateitypen cachen:

  • Bilder (jpg, png, gif, svg, webp): 1 Jahr – Bilder ändern sich selten.
  • CSS- und JavaScript-Dateien: 1 Monat – sie ändern sich häufiger als Bilder, aber nicht täglich.
  • Schriften (woff, woff2, ttf): 1 Jahr – Schriften ändern sich praktisch nie.
  • HTML-Seiten: Kurz oder kein Cache – der Inhalt wird häufig aktualisiert.
  • PDF und Dokumente: 1 Monat – werden gelegentlich aktualisiert.

GZIP-Komprimierung

Die GZIP-Komprimierung reduziert die Größe der an den Browser gesendeten Dateien, typischerweise um 60–80 %. Verwenden Sie mod_deflate, um text/html, text/css, application/javascript, application/json, text/xml und ähnliche Textformate zu komprimieren. Komprimieren Sie keine Bilder, da diese bereits komprimiert sind.

Benutzerdefinierte Fehlerseiten

Anstelle generischer Serverfehler können Sie individuelle Seiten anzeigen, die im Stil Ihrer Website gestaltet sind und Besuchern helfen, das zu finden, wonach sie suchen.

  • ErrorDocument 404: Die Seite, die angezeigt wird, wenn die angeforderte Seite nicht existiert. Binden Sie eine Website-Suche, beliebte Links und Kontaktinformationen ein.
  • ErrorDocument 403: Wird angezeigt, wenn der Zugriff verboten ist. Erklären Sie den Grund und bieten Sie eine Alternative an.
  • ErrorDocument 500: Interner Serverfehler. Erklären Sie, dass das Problem vorübergehend ist, und bieten Sie einen Kontakt zum Support an.
  • ErrorDocument 503: Dienst nicht verfügbar. Nützlich, um eine Wartungsseite mit der erwarteten Rückkehrzeit anzuzeigen.

Nützliche Snippets für den täglichen Gebrauch

Eine IP-Adresse blockieren

Verwenden Sie Require-Direktiven (Apache 2.4+) oder Order/Deny (Apache 2.2), um bestimmte IP-Adressen oder Bereiche zu blockieren. Das ist nützlich, um bekannte Angreifer oder unerwünschte Besucher zu blockieren.

Den WordPress-Admin-Bereich schützen

Beschränken Sie den Zugriff auf das wp-admin-Verzeichnis und die Datei wp-login.php auf bestimmte IP-Adressen. Das reduziert die Zahl der Brute-Force-Angriffe auf Ihre WordPress-Website dramatisch. Sie können auch eine HTTP-Authentifizierung als zusätzliche Schutzschicht hinzufügen.

PHP-Werte einstellen

Auf Shared Hosting können Sie die PHP-Konfiguration über .htaccess mit den Direktiven php_value und php_flag ändern: upload_max_filesize für die Upload-Größe, max_execution_time für das Skript-Timeout, memory_limit für den RAM und post_max_size für die Größe von POST-Anfragen.

Weiterleitung für Wartungsarbeiten

Wenn Sie an der Website arbeiten und Besuchern eine Wartungsseite anzeigen möchten, verwenden Sie RewriteCond, um zu prüfen, ob der Besucher von Ihrer IP-Adresse kommt (sich selbst durchlassen), und leiten Sie alle anderen auf eine maintenance.html-Seite um. Verwenden Sie eine 302-Weiterleitung (temporär), niemals 301.

Häufige Fehler und Fehlerbehebung

  • 500 Internal Server Error: Der häufigste Fehler. Bedeutet meist einen Syntaxfehler in der .htaccess. Prüfen Sie die Serverprotokolle (Error Log im cPanel) auf Details. Entfernen Sie die Regeln einzeln, bis Sie die problematische gefunden haben.
  • Weiterleitungsschleife: Tritt auf, wenn sich zwei Regeln gegenseitig umleiten. Verwenden Sie RewriteCond-Bedingungen, um die Schleife zu vermeiden (z. B. prüfen, ob bereits HTTPS vorliegt, bevor umgeleitet wird).
  • Regeln funktionieren nicht: Prüfen Sie, ob mod_rewrite aktiviert ist. Auf einem LiteSpeed-Server funktionieren Apache-Regeln in der Regel, es kann jedoch Unterschiede geben. Prüfen Sie außerdem, ob die .htaccess-Datei die richtigen Berechtigungen (644) hat.
  • UTF-8-Problem: Speichern Sie die .htaccess-Datei in UTF-8-Kodierung ohne BOM (Byte Order Mark). Ein BOM kann unerwartetes Verhalten verursachen.

Fazit

.htaccess ist ein mächtiges Werkzeug, das Ihnen die Kontrolle über Ihre Website auf Serverebene gibt. Von Weiterleitungen und Sicherheit über Caching bis zu benutzerdefinierten Fehlerseiten – eine korrekte Konfiguration kann die Performance, Sicherheit und das SEO Ihrer Website dramatisch verbessern. Erstellen Sie vor Änderungen immer ein Backup, testen Sie Regel für Regel und nutzen Sie die Serverprotokolle zur Diagnose von Problemen.

BeoHosting Team

10+ Jahre Erfahrung — Spezialisten für Webhosting und Infrastruktur

  • Web Hosting
  • WordPress Hosting
  • VPS
  • Dedicated Serveri
  • Domeni
  • SSL
  • cPanel
  • LiteSpeed
  • Linux administracija
  • DNS

Zuletzt aktualisiert: