.htaccess

Die .htaccess ist eine Konfigurationsdatei für Apache-Webserver, die im Root-Verzeichnis einer WordPress-Installation liegt. Sie steuert, wie der Server Anfragen verarbeitet – von URL-Weiterleitungen über Zugriffsschutz bis hin zur Aktivierung von Komprimierung und Caching-Headern. WordPress schreibt grundlegende Einträge automatisch in die .htaccess, sobald Permalinks aktiviert werden.

Der Standard-WordPress-Block

WordPress fügt beim Speichern der Permalink-Einstellungen automatisch folgenden Block in die .htaccess ein:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Diese Regeln sorgen dafür, dass alle Anfragen durch WordPress geleitet werden – die Grundlage für sprechende URLs wie /kontakt/ statt /?p=5.

Typische Anwendungsfälle

  • Weiterleitungen – 301-Redirects für umgezogene Seiten direkt auf Server-Ebene, schneller als PHP-Redirects
  • Verzeichnis-Schutz – Zugriff auf sensible Bereiche mit Passwort sichern oder komplett sperren
  • wp-config.php schützen – direkten HTTP-Zugriff auf die Konfigurationsdatei unterbinden
  • Komprimierung aktivieren – Gzip/Deflate für schnellere Ladezeiten
  • Browser-Caching – Expires-Header setzen, damit statische Dateien im Browser gecacht werden
  • PHP-Ausführung in Upload-Ordner sperren – verhindert, dass hochgeladene Schadcode-Dateien ausgeführt werden

Wichtige Hinweise

Die .htaccess ist eine versteckte Datei (beginnt mit einem Punkt) – im Dateimanager oder FTP-Client muss die Anzeige versteckter Dateien aktiviert sein, um sie zu sehen. Ein Syntaxfehler in der .htaccess kann dazu führen, dass die gesamte Website einen 500-Fehler wirft. Immer Backup machen, bevor manuelle Änderungen vorgenommen werden. Auf Nginx-Servern gibt es keine .htaccess – dort werden Regeln direkt in der Server-Konfiguration hinterlegt.