Der Dateiname beginnt mit einem Punkt, weshalb viele FTP-Programme und Dateimanager ihn standardmäßig ausblenden. Die .htaccess-Datei gehört zur Welt von Apache: LiteSpeed liest sie ebenfalls, Nginx, Caddy und IIS ignorieren sie dagegen. Sie ist das Grundwerkzeug im Shared Hosting, wo du keinen Zugriff auf die Serverkonfiguration hast.
Wie Apache die .htaccess liest
Die Apache-Dokumentation beschreibt sie als Möglichkeit, die Konfiguration Ordner für Ordner zu ändern, wenn man keine Root-Rechte hat. Alles hängt von der Direktive AllowOverride in der Hauptkonfiguration ab: Ihr Standardwert ist None, und dann werden .htaccess-Dateien komplett ignoriert. Hoster schalten sie frei, damit Permalinks, Weiterleitungen und Zugriffsbeschränkungen funktionieren.

Sind sie erlaubt, sucht Apache in jedem Ordner des angeforderten Pfads nach einer .htaccess und liest diese Dateien bei jeder Anfrage neu. Eine Änderung greift also sofort und ohne Neustart, kostet aber zusätzliche Lesezugriffe. Daher der Rat der Dokumentation: Wenn du Zugriff auf die Hauptkonfiguration hast, gehören deine Regeln dorthin und nicht in .htaccess-Dateien.
Der WordPress-Block
WordPress schreibt in die .htaccess im Root die Rewrite-Regeln, mit denen die Permalinks funktionieren:
# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Alles zwischen den Markierungen # BEGIN WordPress und # END WordPress kann WordPress neu schreiben, zum Beispiel wenn du die Permalink-Einstellungen speicherst. Platziere deine eigenen Regeln außerhalb dieser Markierungen, ebenso wie Plugins es mit ihren eigenen Blöcken tun.
Nützliche Schutzregeln
- Den direkten Zugriff auf die wp-config.php und auf vergessene sensible Dateien sperren, etwa .sql-Backups, den Ordner .git oder debug.log; mehr dazu in unserem Artikel über offen zugängliche sensible Dateien.
- Die Ausführung von PHP in
wp-content/uploadsmit einer eigenen .htaccess für diesen Ordner verhindern. wp-adminper IP-Adresse oder HTTP-Passwort einschränken, wie in unserer Anleitung, um wp-admin auf Serverebene zu schützen.- Das Hotlinking deiner Bilder anhand des Referer-Headers eindämmen.
Ein Syntaxfehler löst sofort einen Fehler 500 für den ganzen Ordner aus: Leg vor jeder Änderung eine Kopie der Datei an.
.htaccess und WordPress
Auf einem Nginx-Server hat eine .htaccess keinerlei Wirkung: Ihre Regeln müssen in die Datei nginx.conf übertragen werden, wofür du oft die Hilfe deines Hosters brauchst. Viele Cache- und Sicherheits-Plugins setzen die .htaccess trotzdem voraus. WP Masquerade braucht sie nur für die Datei-Aliase der Pro-Version, deren Regeln es für jeden Server erzeugt, und um seinen eigenen Ordner zu verbergen: Die Seite kompatible Server und Caches zeigt, wo diese Regeln hingehören, auch beim französischen Hoster o2switch, wo sie vor dem Block von LiteSpeed Cache stehen müssen.