.htaccess-Generator
Schalten Sie ein, was Sie brauchen – Weiterleitungen, HTTPS, Sicherheits-Header, Komprimierung, Caching – und erhalten Sie eine kommentierte .htaccess-Datei für Apache 2.4, mit Warnungen vor Einstellungen, die Sie aussperren könnten.
- Apache 2.4
- Redirects + HTTPS
- Sicherheits-Header
- Läuft in Ihrem Browser
Vorlagen
Eine Vorlage setzt alle Schalter auf einmal und behält Ihre eigenen Weiterleitungen. Geschrieben für Apache 2.4; Teile, die ein optionales Modul brauchen, stehen in <IfModule>, damit ein fehlendes Modul die Website nicht lahmlegt.
Dieser Abschnitt ist ausgeschaltet, daher wird nichts daraus in die Datei geschrieben.
Hinter einem Proxy sieht der Server nur unverschlüsseltes HTTP, daher liest die Regel stattdessen den Header X-Forwarded-Proto. Die falsche Konfiguration führt zu einer Weiterleitungsschleife.
Alte Adressen mit Endung leiten auf die sauberen weiter; die Dateien bleiben, wo sie sind.
Leitet jede Adresse, die keine echte Datei und kein echter Ordner ist, an eine Einstiegsdatei.
Verwenden Sie / für das Stammverzeichnis der Website oder zum Beispiel /blog/. Bei Laravel und Symfony gehört die Datei in den Ordner public.
Eigene Weiterleitungen
Noch keine eigenen Weiterleitungen.
Pfad leitet den Pfad und alles darunter weiter. Regulärer Ausdruck prüft den vollständigen Pfad, der mit / beginnt; verwenden Sie im Ziel $1, $2 für die erfassten Gruppen. 301 und 308 sind dauerhaft, 302 und 307 temporär, 410 teilt Suchmaschinen mit, dass die Seite endgültig entfernt wurde.
Eine pro Zeile oder durch Kommas getrennt. IPv4, IPv6 und Bereiche wie 198.51.100.0/24.
Dieser Abschnitt ist ausgeschaltet, daher wird nichts daraus in die Datei geschrieben.
Speichern Sie dieses Snippet als eigene .htaccess-Datei in jedem Upload-Ordner, zum Beispiel /wp-content/uploads/ oder /uploads/. Hochgeladene Skripte können dann nicht mehr ausgeführt werden.
Eine pro Zeile oder durch Kommas getrennt. IPv4, IPv6 und Bereiche wie 198.51.100.0/24.
Einer pro Zeile. Ein Teil des Namens genügt; Groß- und Kleinschreibung spielt keine Rolle.
Optional, einschließlich ihrer Subdomains.
Optionaler Pfad eines Bildes, das stattdessen gezeigt wird. Leer lassen, um mit 403 zu antworten.
Die Passwortdatei wird separat erstellt – mit dem Befehl htpasswd oder dem Passwort-Tool Ihres Hosting-Panels – und sollte außerhalb des öffentlichen Webordners liegen. Dieser Generator fragt nie nach Passwörtern und erstellt auch keine.
Dieser Abschnitt ist ausgeschaltet, daher wird nichts daraus in die Datei geschrieben.
HSTS lässt sich nicht schnell rückgängig machen: Bis die Zeit abgelaufen ist, erreichen Besucher die Website über HTTP überhaupt nicht. Beginnen Sie mit 5 Minuten. Preload bittet Browser, Ihre Domain fest einzutragen – das Entfernen dauert Monate, und jede Subdomain muss über HTTPS funktionieren.
frame-ancestors ist die moderne Form; X-Frame-Options funktioniert auch in sehr alten Browsern.
Wie viel von der Adresse weitergegeben wird, wenn ein Besucher einem Link folgt.
Für Fortgeschrittene. Lassen Sie beide ungesetzt, sofern Sie nicht wissen, dass Ihre Website sie braucht.
Dieser Abschnitt ist ausgeschaltet, daher wird nichts daraus in die Datei geschrieben.
Schriften werden immer ein Jahr lang gecacht. Verwenden Sie ein Jahr und „immutable“ nur, wenn sich die Dateinamen bei jedem Update ändern, zum Beispiel app.3f9a1c.js.
Dieser Abschnitt ist ausgeschaltet, daher wird nichts daraus in die Datei geschrieben.
Eigene Fehlerseiten
Pfade beginnen mit /. Lassen Sie ein Feld leer, um die Standardseite des Servers zu behalten.
Eine pro Zeile, mit Schema und ohne Pfad: https://app.example.com
Diese Zeilen funktionieren nur mit mod_php. Mit PHP-FPM oder FastCGI – der üblichen Konfiguration bei modernem Hosting – führt eine ungeschützte php_value-Zeile zu einem 500-Fehler; deshalb steht der Block in <IfModule>. Ändern Sie die Werte dort stattdessen in .user.ini oder im Hosting-Panel.
Einer pro Zeile. Ein Teil des Namens genügt; Groß- und Kleinschreibung spielt keine Rolle.
.htaccess
Schalten Sie einen Abschnitt ein, um die Datei zu erstellen.
Sichern Sie zuerst die vorhandene .htaccess. Ein einziger Syntaxfehler oder ein fehlendes Modul lässt jede Seite mit „500 Internal Server Error“ antworten – spielen Sie in diesem Fall die alte Datei zurück. Testen Sie nach dem Hochladen die Startseite, eine Unterseite und eine Weiterleitung.
Der Dateiname muss genau .htaccess lauten. Manche Browser und Smartphones lassen den führenden Punkt weg oder können einen solchen Namen nicht speichern – laden Sie dann htaccess.txt herunter und benennen Sie die Datei auf dem Server um.
Prüfungen
So erzeugen Sie eine .htaccess-Datei
Jeder Schalter fügt der Datei einen Block hinzu.
- 1
Vorlage wählen oder leer beginnen
WordPress empfohlen, Statische Website, Laravel, Single-Page-App, Sicherheitshärtung oder Geschwindigkeit setzen alle Schalter auf einmal. Ihre eigenen Weiterleitungen bleiben erhalten.
- 2
Abschnitte einschalten und Details ausfüllen
Weiterleitungen und URLs, Sicherheit, Sicherheits-Header, Performance und weitere Einstellungen. Die Datei und die Liste der Prüfhinweise aktualisieren sich laufend.
- 3
Sichern, hochladen und testen
Kopieren Sie die Datei oder laden Sie sie herunter, bewahren Sie eine Kopie der alten auf, laden Sie die neue in den Ordner hoch, für den sie gelten soll, und testen Sie dann die Startseite, eine Unterseite und eine Weiterleitung.
Was die erzeugte Datei kann
Blöcke, die ein optionales Modul benötigen, stehen in <IfModule>.
Weiterleitungen und saubere URLs
HTTPS erzwingen, www hinzufügen oder entfernen, ebenso abschließende Schrägstriche und Dateiendungen, eine alte Domain umziehen und eigene Weiterleitungen per Pfad oder regulärem Ausdruck mit 301, 302, 307, 308 oder 410 anlegen.
Für Proxy und CDN geeignet
Hinter Cloudflare oder einem Load Balancer liest die HTTPS-Regel den Header <code>X-Forwarded-Proto</code> – das vermeidet die übliche Weiterleitungsschleife.
Zugriffskontrolle
Passwortschutz, Erlaubnis- oder Sperrlisten für IP-Adressen, gesperrte User-Agents, Hotlink-Schutz für Bilder und 404 für Punktdateien, Backups und Konfigurationsdateien.
Sicherheits-Header
HSTS, X-Content-Type-Options, Frame-Schutz, Referrer-Policy, Permissions-Policy und eine Content-Security-Policy als Ausgangsbasis, die zunächst im Report-only-Modus laufen kann.
Performance
Gzip- und Brotli-Komprimierung, Ablaufzeiten je Dateityp mit Cache-Control, korrekte MIME-Typen für moderne Formate und auf Wunsch das Entfernen von ETags.
Prüfung vor dem Hochladen
Meldet Weiterleitungsschleifen, eine IP-Regel oder einen Wartungsmodus, der Sie aussperren würde, ungültige Adressen, Risiken beim HSTS-Preload und PHP-Zeilen, die unter PHP-FPM fehlschlagen.
Privat
Alles läuft in Ihrem Browser. Was Sie eingeben, einfügen oder öffnen, wird nicht an einen Server gesendet.
Kostenlos, ohne Anmeldung
Kein Konto, keine Limits, kein Wasserzeichen – auf Smartphone, Tablet und Computer.
Wie .htaccess funktioniert und wie Sie einen 500-Fehler vermeiden
Eine .htaccess-Datei ist eine Konfigurationsdatei auf Ordnerebene für den Apache-Webserver. Apache liest sie bei jeder Anfrage und wendet ihre Direktiven auf diesen Ordner und alles darunter an – so ändern Sie Weiterleitungen, Header und Zugriffsregeln, ohne die Hauptkonfiguration des Servers anzufassen. Das funktioniert nur, wenn der Hoster es über AllowOverride zulässt, was bei Shared Hosting in der Regel der Fall ist. LiteSpeed-Server verstehen die meisten dieser Direktiven. Nginx liest .htaccess-Dateien überhaupt nicht.
Die meisten Regeln setzen Module voraus: mod_rewrite für Weiterleitungen und saubere URLs, mod_headers für Sicherheits-Header, mod_deflate und mod_expires für Komprimierung und Caching. Dieser Generator schreibt die Syntax von Apache 2.4, etwa Require all denied statt des alten Deny from all, und listet die Module auf, die die Datei verwendet. Die Reihenfolge zählt: Weiterleitungen stehen vor einem Front-Controller wie dem WordPress-Block, sonst antwortet zuerst die Anwendung und die Weiterleitung greift nie.
Ein einziger Syntaxfehler oder eine Direktive, die der Hoster nicht erlaubt, lässt jede Seite mit „500 Internal Server Error“ antworten. Bewahren Sie eine Kopie der funktionierenden Datei auf und spielen Sie sie in diesem Fall zurück. Die klassischen Fallen sind Weiterleitungsschleifen – HTTPS hinter einem Proxy mit der Standardregel erzwingen oder eine Schrägstrich-Regel, die dem CMS widerspricht – und eine 301, die Browser lange zwischenspeichern; testen Sie neue Weiterleitungen daher zuerst als 302. Gehen Sie mit HSTS ebenso vorsichtig um: Beginnen Sie mit einer kurzen Dauer, bevor Sie sie erhöhen.
Statuscodes für Weiterleitungen in .htaccess
| Code | Bedeutung | Geeignet für |
|---|---|---|
| 301 | Dauerhaft verschoben | Eine Seite oder Domain, die endgültig umgezogen ist; Suchmaschinen übertragen die alte Adresse auf die neue |
| 302 | Gefunden (temporär) | Kurzfristige Umzüge und zum Testen einer Regel, bevor sie dauerhaft wird |
| 307 | Temporär, Methode bleibt erhalten | Temporäre Weiterleitungen von Formularen und API-Aufrufen, weil POST dabei POST bleibt |
| 308 | Dauerhaft, Methode bleibt erhalten | Dauerhafte Weiterleitungen von Formularen und API-Endpunkten |
| 410 | Nicht mehr vorhanden | Inhalte, die absichtlich entfernt wurden und nicht zurückkommen |
Tipps
- Verfolgen Sie nach dem Hochladen jede Weiterleitung Schritt für Schritt mit dem Redirect-Checker – eine Kette aus mehreren Weiterleitungen sollte auf eine einzige verkürzt werden.
- Prüfen Sie mit dem SSL-Checker, ob das Zertifikat jeden Hostnamen abdeckt, bevor Sie HTTPS erzwingen oder HSTS aktivieren.
- Kontrollieren Sie mit dem HTTP-Status-Checker, ob die Sicherheits- und Caching-Header wirklich ankommen.
- Kann Ihr Smartphone oder Browser keine Datei speichern, deren Name mit einem Punkt beginnt, laden Sie
htaccess.txtherunter und benennen Sie sie auf dem Server in.htaccessum.
Häufig gestellte Fragen
Keine Antwort gefunden? Schreiben Sie uns – wir antworten schnell.
Wohin gehört die .htaccess-Datei?
In den Ordner, für den sie gelten soll – meist das Stammverzeichnis der Website, oft public_html oder www genannt. Die Regeln gelten auch für alle Unterordner. Der Dateiname lautet exakt .htaccess, mit führendem Punkt und ohne Endung.
Wie leite ich HTTP mit .htaccess auf HTTPS um?
Schalten Sie „HTTPS erzwingen“ ein. Der Generator schreibt eine mod_rewrite-Regel, die jede http://-Anfrage mit einer 301 an https:// weiterleitet. Liegt die Website hinter Cloudflare oder einem anderen Proxy, wählen Sie diese Serverumgebung aus, sonst läuft die Regel in eine Schleife.
Warum erhalte ich nach dem Hochladen einen 500 Internal Server Error?
Die Datei enthält eine Direktive, die der Server nicht akzeptiert: ein Syntaxfehler, ein nicht geladenes Modul oder eine Einstellung, die der Hoster nicht erlaubt hat. Stellen Sie die vorherige Datei wieder her und fügen Sie die Abschnitte dann einzeln hinzu. Das Fehlerprotokoll des Servers nennt die genaue Zeile.
Funktioniert .htaccess unter Nginx?
Nein. Nginx kennt keine Konfigurationsdateien auf Ordnerebene; dieselben Regeln müssen in der Nginx-Serverkonfiguration stehen. .htaccess funktioniert unter Apache und, für die meisten Direktiven, unter LiteSpeed.
Macht eine .htaccess-Datei meine Website langsamer?
Geringfügig. Apache sucht die Datei bei jeder Anfrage in jedem Ordner des Pfads. Bei normalen Websites ist der Aufwand vernachlässigbar und weit kleiner als der Gewinn durch Komprimierung und Caching. Wenn Sie den Server selbst verwalten, sind dieselben Regeln in der Hauptkonfiguration schneller.
Werden meine Daten an einen Server gesendet?
Nein. Das Tool läuft vollständig in Ihrem Browser. Ihre Eingaben werden nicht hochgeladen, protokolliert oder auf unseren Servern gespeichert.
Weitere kostenlose SEO- und Website-Tools
Tags und Dateien erzeugen, Statuscodes, Weiterleitungen, DNS und Zertifikate prüfen – kostenlos und ohne Konto.