Doku > Beispiel für eine .htaccess-Datei

Was ist eine .htaccess-Datei?

.htaccess steht für “Hypertext Access” und ist eine Konfigurationsdatei, die auf Apache-Webservern verwendet wird. Diese Datei wird hauptsächlich zur Steuerung von Einstellungen auf Verzeichnisebene verwendet und ermöglicht es Webadministratoren, die Konfiguration des Servers zu ändern, ohne direkt auf die Hauptkonfigurationsdateien des Servers zugreifen zu müssen.

Wichtige Funktionen einer .htaccess-Datei

  1. URL-Umschreibung (Rewriting): Einer der häufigsten Anwendungsfälle ist das Umschreiben von URLs, zum Beispiel das Umleiten von alten auf neue URLs oder das Entfernen von “www” aus URLs, um SEO-Probleme zu vermeiden.

  2. Sicherheitseinstellungen: .htaccess kann verwendet werden, um den Zugriff auf bestimmte Bereiche Ihrer Website zu beschränken, indem IP-Adressen blockiert oder Passwörter für bestimmte Verzeichnisse verlangt werden.

  3. Anpassen von Fehlerseiten: Sie können anpassen, welche Seite angezeigt wird, wenn ein Nutzer auf einen Fehler wie 404 (Seite nicht gefunden) oder 403 (Zugriff verweigert) stößt.

  4. Performance-Optimierung: Durch Caching-Einstellungen und Komprimierung kann die Ladegeschwindigkeit der Website verbessert werden.

  5. MIME-Typen definieren: Sie können spezifische MIME-Typen für verschiedene Dateierweiterungen festlegen, was hilft, wie der Browser diese Dateien verarbeitet.

Vorsichtsmaßnahmen und Best Practices

  • Performance: Obwohl .htaccess sehr mächtig ist, kann dessen Nutzung die Serverleistung beeinträchtigen, da die Datei bei jeder Anfrage gelesen wird. In Umgebungen, in denen die Serverkonfiguration direkt geändert werden kann, ist es oft besser, Einstellungen direkt in der Hauptkonfigurationsdatei des Servers (httpd.conf) vorzunehmen.

  • Sicherheit: Da .htaccess-Dateien so mächtig sind, sollten Sie sicherstellen, dass sie sicher aufbewahrt und nicht öffentlich zugänglich sind. Stellen Sie auch sicher, dass nur vertrauenswürdige Benutzer Zugriff auf die Dateien haben.

  • Fehlerüberprüfung: Fehler in der .htaccess-Datei können dazu führen, dass Ihre Website oder Teile davon nicht mehr erreichbar sind. Es ist wichtig, Änderungen gründlich zu testen, bevor sie live geschaltet werden.

Beispiel

Diese .htaccess-Datei enthält Anweisungen zur Zeichensatzdefinition, Caching, Fehlerbehandlung, und URL-Umschreibung (Rewriting). Hier ist eine Erklärung der einzelnen Teile:

1. Zeichensatzdefinition

AddDefaultCharset UTF-8

Dieser Befehl setzt den Standardzeichensatz für Dokumente auf UTF-8. Das hilft, Zeichencodierungsprobleme zu vermeiden und sorgt dafür, dass Texte korrekt dargestellt werden.

2. Caching-Einstellungen

ExpiresActive on 
AddType image/webp .webp
AddType image/svg .svg
ExpiresByType image/webp "access plus 365 days"
ExpiresByType image/* "access plus 365 days"
ExpiresByType application/javascript "access plus 365 days"
ExpiresByType text/css "access plus 365 days"
  • ExpiresActive on aktiviert die Nutzung von Ablaufdaten für Dateitypen.
  • AddType definiert neue MIME-Typen für WebP- und SVG-Dateien, damit der Browser sie korrekt interpretiert.
  • ExpiresByType setzt das Ablaufdatum für verschiedene Dateitypen (Bilder, JavaScript, CSS) auf 365 Tage nach dem letzten Zugriff. Dies verbessert die Ladezeiten für wiederkehrende Besucher, indem Ressourcen im Browser gecacht werden.

3. Fehlerdokument

ErrorDocument 404 https://autoprofis24.de/

Legt fest, dass Besucher bei einem 404-Fehler (Seite nicht gefunden) zur angegebenen URL umgeleitet werden.

4. URL-Umschreibung (Rewriting)

RewriteEngine On

Aktiviert die URL-Umschreibung.

Spezifische Weiterleitungen

RewriteRule ^infos/arten-von-hybridautos/(.*)$ /infos/arten-von-hybridfahrzeugen/$1 [R=301,L]
RewriteRule ^blog/brummende-geraeuche-hinterachse-mercedes-e-klasse-differenzial/(.*)$ /blog/brummende-geräusche-hinterachse-mercedes-e-klasse-differenzial/$1 [R=301,L]

Diese Regeln leiten alte URLs auf ihre neuen Pfade um (301-Weiterleitung, dauerhaft). Dies wird genutzt, um SEO-Wert auf die neue URL zu übertragen und Nutzererfahrung zu verbessern.

Überprüfung auf existierende Dateien oder Verzeichnisse

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

Diese Bedingungen stellen sicher, dass die folgenden Rewrite-Regeln nur angewendet werden, wenn die angeforderte Datei oder das Verzeichnis nicht existiert.

Kommentierter Code für PageSpeed-Optimierungen

Der blockierte Code (##) ist für spezifische Performance-Einstellungen, die derzeit nicht aktiv sind, beispielsweise das Ausschließen bestimmter Dateitypen von der Umleitung oder das Hinzufügen eines Schrägstrichs am Ende der URL.

Weiterleitung zu einem übergeordneten Verzeichnis

RewriteRule ^(.+)/[^/]+/?$ /$1/ [R=301,L]

Leitet Anfragen, die auf eine nicht existierende Ressource in einem Unterverzeichnis verweisen, zum übergeordneten Verzeichnis um.

Entfernen von “www” aus der URL

RewriteCond %{HTTP_HOST} ^www\.autoprofis24\.de [NC]
RewriteRule ^(.*)$ https://autoprofis24.de/$1 [L,R=301]

Leitet alle Anfragen von www.autoprofis24.de zu autoprofis24.de um, wobei der www-Teil entfernt wird, um Konsistenz in der URL-Struktur zu gewährleisten und Duplikatinhalte zu vermeiden.

Diese .htaccess-Datei ist ein gutes Beispiel dafür, wie serverseitige Konfiguration