Was .htaccess macht, wo du .htaccess findest und wie es funktioniert
Die Integration von .htaccess ist allerdings recht komplex, weswegen sich meist Entwickler um diesen Teil deiner Webseite kümmern. Sofern du also bisher kein .htaccess besitzt oder die Datei gelöscht hast, erklären wir dir Schritt für Schritt, wie du die .htaccess-Datei einrichten kannst und worauf du im Umgang mit .htaccess unbedingt achten musst.
Inhaltsverzeichnis
- WordPress .htaccess – was ist das überhaupt?
- Wo finde ich die WordPress .htaccess-Datei?
- Wie richte ich .htaccess für WordPress ein?
- Kann ich die .htaccess-Datei verändern?
- Wie entziehe ich WordPress den .htacces-Zugang?
- Redirects mit .htaccess einrichten
- Die .htaccess-Datei nach der Einrichtung optimieren
1. WordPress .htaccess - was ist das überhaupt?
Generell kannst du über die Datei bspw.:
- spezielle Regeln hinzufügen
- automatische Weiterleitungen einrichten
- von http auf https umleiten
- Zugriff von bestimmten IP-Adressen sperren oder einschränken
- die maximale Upload-Größe erhöhen
- und vieles, vieles mehr
2. Wo finde ich die WordPress .htaccess-Datei?
Verwendest du einen Apache-Server, dann liegt die .htaccess-Datei dort, wo auch:
- der Ordner wp-admin
- der Ordner wp-content
- und die Datei wp-config.php
TIPP 💡
Wenn auf dem Server noch keine .htaccess liegt, einfach mal die Permalinks neu speichern (ohne Änderung), dann wird die oft Datei angelegt. Es hängt aber davon ab, ob das automatisierte Erstellen von Dateien erlaubt wurde. In diesem Fall erhalten Nutzer jedoch beim Speichern der Permalinks eine Fehlermeldung von WordPress, die darauf hinweist, dass keine .htaccess-Datei erstellt werden konnte.
3. Wie richte ich .htaccess für WordPress ein?
- Für den ersten Schritt benötigen Nutzer einen Texteditor, der für die Bearbeitung von Dateien dieser Art ausgelegt ist. Microsoft Word funktioniert beispielsweise nicht, da hier weitere Formatierungen hinzugefügt werden. Der Nutzer erstellt nun eine Datei mit dem Namen a.htaccess (beliebiger Name, der nicht nur “htaccess” lautet).
- Die leere Datei wird nun via FTP-Programm im eigenen Hauptverzeichnis hochgeladen. Der Nutzer befindet sich im Hauptverzeichnis , wenn dort auch die wp-config.php liegt.
- Da die Datei noch einen falschen Namen hat, muss sie in die korrekte Form umbenannt werden: .htaccess
- Der vierte und letzte Schritt bezieht sich auf die Rechtezuweisung. Die Datei ist aktuell leer und muss nun mit Code gefüllt werden . Es gibt eine Art “Standard-Format”, welches Nutzer zu Beginn einfügen können. Dieser sieht wie folgt aus:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
- Über das FTP-Programm die .htaccess-Datei aufrufen
- Mit der rechten Maustaste auf die Datei klicken
- Dateiberechtigungen als Punkt auswählen
- Beschreiben der Datei wie gewünscht zulassen
4. Kann ich die .htaccess-Datei verändern?
In einigen Fällen kann es sein, dass WordPress selbst auf die .htaccess-Datei zugreift und eigenständige Änderungen durchführt (Hier findest du unseren passenden FAQ-Artikel im Help-Center ). Das ist je nach Einstellung der Fall und kann Probleme auslösen.
Wenn ein Nutzer über WordPress selbst Optimierungen vornimmt, bearbeitet das System die Datei. Es setzt beispielsweise Hinweise wie # BEGIN WordPress und # END WordPress. Für jeden, der unnötigen Code in seiner Datei vermeiden möchte, ist das ein Graus.
Der Hintergrund: Selbst, wenn der Nutzer die nicht gewünschten Zeilen entfernt, fügt WordPress sie eigenständig wieder ein. Das gilt auch für den Bereich dazwischen. Wenn dieser eigenhändig und oft mit viel Mühe optimiert wurde, WordPress dann aber eigenständig Änderungen vornimmt, kann das sehr ärgerlich sein.
- PageSpeed Score
- Core Web Vitals
- Parameter mit Erläuterung
Nach dem Absenden erhältst du das Ergebnis direkt per E-Mail.
Mit dem Absenden dieses Formulars stimmst du unseren Datenschutzbestimmungen zu.
5. Wie entziehe ich WordPress den .htacces-Zugang?
- In der ersten Variante können die Zugriffsrechte für WordPress komplett eingeschränkt werden. Das ist simpel und effektiv, aber leider bedeutet das auch, dass WordPress auch Einschränkungen im Bereich Themes und Plugins hat. Diese Lösung ist daher nicht immer optimal.
- Bei der zweiten Option handelt es sich um einen Filter , der in die functions.php (zu finden im Ordner „/wp-content/themes/(aktives Theme)/“) eingebaut wird. Auf diese Weise kann WordPress die in der htaccess-Datei enthaltenen Regeln nicht überschreiben oder stets verändern.
‼️ Achtung
Bevor Änderungen an den Dateien vorgenommen werden, solltest du immer (!) ein Backup machen. Das gilt sowohl für die genannte functions.php, als auch für Veränderungen an der .htaccess-Datei von WordPress. Ein Backup ist sehr einfach, da die Datei einfach kopiert und umbenannt werden kann.
add_filter('flush_rewrite_rules_hard', '__return_false');
6. Redirects mit .htaccess einrichten
Redirect von einer Seite auf eine andere Seite / Aktualisierung einer URL:
Bspw. wenn man die URL eines bestehenden Beitrags oder einer LP erneuert .
- Redirect /alte-seite.html https://www.domain.de/verzeichnis/neue-seite.html
Dateiendung ändern:
Wenn du bspw. dauerhaft Dateiendungen von .html auf .php ändern möchtest
- RedirectMatch 301 (.*)\.html$ http://www.domain.de$1.php
Redirect von www auf non-www:
So gelingt der Redirect von http://www .domain.de auf http://domain.de:
- RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.domain\.de$ [NC]
RewriteRule ^(.*)$ http://domain.de/$1 [L,R=301]
Redirect von non-www auf www:
Und noch einmal in die andere Richtung – Redirect von http://domain.de auf http://www .domain.de:
- RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.domain\.de$ [NC]
RewriteRule ^(.*)$ http://www.domain.de/$1 [L,R=301]
Für gewöhnlich wird dergleichen heutzutage jedoch über Serververwaltungs-Plattformen gelöst. So schaut es bspw. in unserer Oberfläche von Plesk aus, wenn man zwischen www und non-www Varianten wechseln möchte.
7. Die .htaccess-Datei nach der Einrichtung optimieren
- Passwort-Schutz für einzelne Verzeichnisse (Insbesondere um diese von SERP-Indexierung auszuschließen )
- Ausschluss einzelner Nutzer oder IP-Adressen.
- Die Aktivierung der Gzip –Komprimierung.
- Die Aktivierung des Browser Cachings .
- Das Unterbinden des Image-Hotlinking .
- Einrichtung eines Redirects oder einer 301-Weiterleitung.
- Verhinderung des Auslesens von Nutzernamen .
Vielen Dank für den tollen Bericht, eine Frage noch muss ich den Code add_filter(‚flush_rewrite_rules_hard‘,’__return_false‘); in die .htaccess und in die funktion.php einfügen oder nur in die htaccess? Vielen Dank für deine Antwort E.I Wagner
Hallo Estrella,
dein Code gehört nur in die functions.php. Würdest du diesen in die htaccess schreiben, würde deine Seite wahrscheinlich nicht mehr funktionieren.
und noch eine Frage, wo liegt die functions.php, es gibt eine in den wp-content/themes und eine in wp-includes/ welche brauche ich? Vielen Dank!
Hier brauchst du die /wp-content/themes/xy/functions.php