.htaccess ist die verzeichnisbezogene Konfigurationsdatei des
Apache-Webservers. Sie wirkt sich auf das Verzeichnis aus, in dem sie liegt, und auf alle
Unterordner; Änderungen werden sofort wirksam, ohne dass der Server neu gestartet werden muss. Von
URL-Weiterleitungen über die HTTPS-Erzwingung bis zu Dateisperren und Cache-Regeln können Sie hier
viele Einstellungen verwalten. Da ihr Name mit einem Punkt beginnt, ist sie eine versteckte
Datei und im File Manager standardmäßig möglicherweise nicht sichtbar.
1. Bearbeiten über den File Manager
- Melden Sie sich bei cPanel an.
- Klicken Sie im Bereich Files auf File Manager.
- Beim ersten Öffnen klicken Sie oben rechts auf Settings und aktivieren Sie Show Hidden Files (dotfiles). Andernfalls erscheint
.htaccessnicht in der Liste. - Gehen Sie in das Verzeichnis
public_html. - Wählen Sie
.htaccessaus und klicken Sie oben auf Edit oder Code Editor (Code Editor wird wegen Syntax-Hervorhebung empfohlen). - Nehmen Sie die Änderung vor und klicken Sie auf Save Changes. Die Änderung ist sofort aktiv; Sie können Ihren Browser zum Testen aktualisieren.
.htaccess.bak
erstellen). Ein einziger Tippfehler kann einen 500 Internal Server Error verursachen
und Ihre gesamte Website wird nicht mehr geladen.
2. Häufige .htaccess-Beispiele
Automatische Weiterleitung von HTTP zu HTTPS:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Weiterleitung zur Version ohne www (z. B. www.ihresite.com → ihresite.com):
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]
Weiterleitung zur Version mit www (umgekehrt):
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
301-Weiterleitung für eine einzelne Seite:
Redirect 301 /alte-seite.html /neue-seite.html
Eigene 404-Seite:
ErrorDocument 404 /404.html
3. Sicherheitsregeln
Verzeichnisauflistung deaktivieren (verhindert die Auflistung von Dateien in Ordnern ohne Indexdatei):
Options -Indexes
Zugriff auf sensible Dateien blockieren (.env, config.php, wp-config.php usw.):
<FilesMatch "^(\.env|\.git|wp-config\.php|config\.php)$">
Require all denied
</FilesMatch>
Bestimmte IP blockieren:
<RequireAll>
Require all granted
Require not ip 192.0.2.10
</RequireAll>
4. Automatische Blöcke von WordPress und cPanel
Wenn Ihre Website WordPress verwendet, finden Sie in der .htaccess-Datei einen Block
wie diesen:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
...
</IfModule>
# END WordPress
Diesen Block nicht löschen oder manuell bearbeiten; WordPress generiert ihn
automatisch neu, wenn Sie die Permalink-Einstellungen speichern. Ebenso fügt cPanel bei der Auswahl
einer PHP-Version einen Block beginnend mit # php -- BEGIN cPanel-generated handler
hinzu; auch dieser wird automatisch verwaltet.
Schreiben Sie eigene Regeln außerhalb dieser automatischen Blöcke (darüber oder darunter). Andernfalls werden Ihre Änderungen gelöscht, wenn WordPress oder cPanel den Block aktualisiert.
5. Wenn Sie einen 500 Internal Server Error erhalten
Wenn Ihre Website nach der Bearbeitung einen weißen Bildschirm oder einen 500-Fehler zeigt, liegt fast immer ein Syntaxfehler in .htaccess vor. Lösung:
- Öffnen Sie den File Manager und ersetzen Sie
.htaccessdurch das Backup (.htaccess.bak). - Wenn Sie kein Backup haben, benennen Sie die Datei vorübergehend in
htaccess-alt.txtum. Die Website wird dann mit der Standard-Apache-Konfiguration geladen. - Finden und korrigieren Sie die fehlerhafte Zeile, benennen Sie die Datei dann wieder in
.htaccessum.
Wenn Sie bei einer .htaccess-Regel nicht weiterkommen, können Sie ein Support-Ticket öffnen und das gewünschte Verhalten beschreiben; unser Team schlägt die passende Regel vor und hilft bei der Anwendung.