1. Start
  2. /
  3. msrv.io Hosting
  4. /
  5. Webseiten und Domains
  6. /
  7. .htaccess-Grundlagen: Red...

.htaccess-Grundlagen: Redirects, Caching, Schutz

Die .htaccess-Datei ist eine Konfigurationsdatei für den Apache-Webserver. Sie steuert Weiterleitungen, Caching, Zugriffsschutz und mehr auf Verzeichnisebene, ohne den Hauptserver neu starten zu müssen.

Speicherort und Wirkungsbereich

Die Datei liegt im Web-Root Ihrer Domain (üblicherweise /web/) und wirkt auf dieses Verzeichnis und alle Unterverzeichnisse. WordPress erstellt beim Speichern der Permalink-Einstellungen automatisch eine .htaccess mit dem WordPress-Rewrite-Block.

Grundstruktur: WordPress-Block nicht verändern

Der WordPress-eigene Block ist mit Kommentaren markiert und darf nicht entfernt oder verändert werden:

# 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

Eigene Regeln fügen Sie vor dem BEGIN-WordPress-Block ein.

Weiterleitungen

Einzelne URL dauerhaft weiterleiten (301):

Redirect 301 /alter-pfad/ https://www.ihredomain.de/neuer-pfad/

Alle HTTP-Anfragen auf HTTPS umleiten: Anleitungen dazu in HTTPS erzwingen.

Browser-Caching steuern

Statische Ressourcen im Browser cachen lassen, um Ladezeiten zu reduzieren:

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/png  "access plus 1 month"
    ExpiresByType text/css   "access plus 1 week"
    ExpiresByType application/javascript "access plus 1 week"
</IfModule>

Verzeichnis-Zugriff sperren

Zugriff auf ein Verzeichnis per HTTP vollständig unterbinden:

Options -Indexes

Damit wird verhindert, dass Besucher den Inhalt eines Ordners auflisten können, wenn keine Index-Datei vorhanden ist.

IP-Adressen blockieren

<RequireAll>
    Require all granted
    Require not ip 123.45.67.89
</RequireAll>

wp-config.php absichern

<Files wp-config.php>
    Require all denied
</Files>

Hinweise zur Fehlersuche

Ein Syntaxfehler in der .htaccess führt zu einem 500 Internal Server Error. Prüfen Sie die Fehlerlogs in ISPConfig unter Sites > Logs. Anleitungen dazu: Fehler debuggen mit ISPConfig.

Verwandte Anleitungen

Bei Fragen: +49 89 215505888 oder support@cms-admins.de

Still stuck? Contact

Wie können wir helfen?