.htaccess WordPress | 7 nützliche Tricks
Die .htaccess Datei ist neben der functions.php und der wp-config.php vermutlich einer der wichtigsten und vielseitigsten Dateien auf einer WordPress Umgebung. Genau aus diesem Grund habe ich hier, die aus meiner Sicht 7 nützlichsten Tricks für die .htaccess Datei und WordPress zusammengestellt.
Was genau macht die htaccess Datei und wo ist sie in WordPress zu finden?
Die .htaccess Datei ist vereinfacht gesagt, nichts anderes als eine reine Textdatei mit der es möglich ist die Konfiguration eines Apache Webservers zu verändern bzw. teilweise zu kontrollieren. Großer Vorteil hierbei ist es, dass kein Zugriff auf die Hauptkonfigurationsdatei httpd.conf gegeben sein muss. Die .htaccess Datei und deren enthaltenen Konfigurationen beziehen sich immer auf das Verzeichnis in dem die .htaccess Datei liegt, inklusive aller Dateien in diesem Verzeichnis. Die .htaccess Datei spielt auch eine große Rolle wenn es um Sicherheit und Zugriffsschutz geht.
htaccess Datei auf dem Server erstellen und bearbeiten
Wie bereits erwähnt hat eine WordPress-Installation in der Regel mehrere .htaccess Dateien in unterschiedlichen Verzeichnissen, wir widmen unsere Aufmerksamkeit hier aber der .htaccess Datei im Rootverzeichnis des Servers. Im Normalfall legt WordPress eine Standard .htaccess Datei im Rootverzeichnis an welche so aussieht.
# 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
Was genau kann die .htaccess Datei nun alles?
- Zugriffsschutz auf Dateien oder Verzeichnisse (WordPress Hardening)
- 301 Weiterleitungen
- IP Adressen Blacklisten
- Speed Optimierungen wie Caching und Expired Headers
- GZIP Komprimierung
- URL-Pfade neu definieren
- HTTP-Fehlemeldungen
- uvm.
Wer sich noch mehr theoretisches Wissen aneignen will über die .htaccess in Verbindung mit WordPress kann sich hier im .htaccess WordPress Codex weiter einlesen. Ich möchte nun einige Tricks vorstellen die gut demonstrieren wie vielseitig und hilfreich die .htaccess Datei sein kann. Jedoch sollten Änderungen an der .htaccess Datei immer gründlich überprüft werden da schon ein kleiner Tippfehler oder sonst eine Fehlkonfiguration zum Totalausfall der Webseite führen kann. Im Optimalfall führt ihr solche Änderungen auf einer Staging-Umgebung durch.
1. WordPress Admin mit .htaccess schützen
Wer mehrere WordPress Installationen betreut so wie wir, weiß wie lästig Brutforce Attacken und ähnliche Angriffe sind. Ein einfacher Weg sein WordPress Backend vor Angreifern zu schützen ist nur ausgewählte IP Adressen den Zugriff zu gewähren. Einfach diesen Code in die .htaccess Datei kopieren und natürlich die xx Werte mit den IP Adressen ersetzen.
AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "WordPress Admin Access Control" AuthType Basic order deny,allow deny from all # whitelist Syed's IP address allow from xx.xx.xx.xxx # whitelist Daniel's IP address allow from xx.xx.xx.xxx
2. Directory Browsing mit der .htaccess Datei sperren
Dieser sehr einfach Trick ist schnell umgesetzt und verhindert, dass Hacker sich einen Überblick über die Verzeichnisstruktur machen können um Lücken am Server zu finden. Einfach diese Zeile in die .htaccess Datei einfügen und schon ist deine WordPress Seite wieder ein Stück sicherer. Und an die Philosophen unter euch, ja ich weiß, entweder ist eine Sache sicher oder nicht sicher und trotzdem macht “sicherer” sicher Sinn.
AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "WordPress Admin Access Control" AuthType Basic order deny,allow deny from all # whitelist Syed's IP address allow from xx.xx.xx.xxx # whitelist Daniel's IP address allow from xx.xx.xx.xxx
3. PHP Execution blockieren in der .htaccess
Wer schon mal eine sogenannte “Backdoor” in seiner WordPress Installation gefunden hat weiß wie nervig es sein kann diese wieder zu schließen. In der Regel verstecken sich solche Backdoors in WordPress Core Folder innerhalb des /wp-includes Verzeichnisses. Speziell Malware benutzt gerne Backdoors. Um erst gar nicht in das Vergnügen zu kommen eine gehackte WordPress Webseite bereinigen zu müssen empfiehlt es sich eine neue .htaccess Datei anzulegen mit diesem Code.
deny from all
Anschließend solltest du die .htaccess Datei in die Verzeichnisse wp-content/uploads/ und /wp-includes/ hochladen.
4. Mit der .htaccess Datei 301 Weiterleitungen einrichten
301 Weiterleitung sind besonders in der Suchmaschinenoptimierung ein wichtiges Instrument um Google den Umzug einer Webseite oder eine permanente Weiterleitung einer URL bekannt zu geben um das Google Ranking nicht zu verlieren. Es gibt mehrere Möglichkeiten solche Weiterleitungen in der .htaccess Datei einzutragen. Natürlich können auch andere Weiterleitungen wie 201 oder https Weiterleitungen eingetragen werden. Wer sich mit dieser Thematik noch nicht befasst hat, dem empfehle ich den Artikel von Sistrx über 301 Weiterleitungen.
Redirect 301 /alteurl/ http://www.example.com/neueurl Redirect 301 /kategorie/besipiel1/ http://www.example.com/kategorie/bsp1/
5. Hotlinking mit Hilfe der .hataccess Datei deaktivieren
Das Hotlinking von Bildern ist eher ein Thema für sehr große Webseiten da es hier sehr schnell zu großen Datenmengen kommen kann und dies das Limit der Bandbreite stark strapatzieren kann. Aufpassen auch bei der Nutzung einer Staging-Umgebung. In der Regel wird auch hier das Hotlinking-Prinzip benutzt um nicht immer alle Bilder kopieren zu müssen.
#hotlinking von Bildernd deaktivieren RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?slidebird.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.at [NC] RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L]
6. Maximal Größe für den Dateiupload in WordPress erhöhen
Wer seine WordPress Installation auf einem Shared Host betreibt wird vielleicht bei dem Versuch die Größer des maximalen Dateiuploads zu erhöhen gescheitert sein. Bei den meisten Shared Hosts funktionieren Anpassungen in der php.ini nicht, daher ist die .htaccess Lösung hier hilfreich. Einfach diesen Code eintragen und die gewünschte Dateigröße anpassen.
php_value upload_max_filesize 64M php_value post_max_size 64M php_value max_execution_time 300 php_value max_input_time 300
7. Author Scans blockieren in der .htaccess Datei
Viele große WordPress Blogs haben keinen Überblick über Ihre Autoren und deren Passwörter. Genau diese Schwachstelle machen sich viele Brutforce Attacken zu nutze und scannen Benutzernamen der Blogautoren um danach schwache Passwörter zu knacken. Mit diesem Code lässt sich ein solcher Scan ganz leicht unterbinden.
# BEGIN block author scans RewriteEngine On RewriteBase / RewriteCond %{QUERY_STRING} (author=\d+) [NC] RewriteRule .* - [F] # END block author scans
Ich hoffe diese 7 schnell umgesetzten Tricks helfen euch dabei, eure WordPress-Webseite ein klein weniger mehr zu verstehen und in nur ein paar Minuten deutlich besser gegen Angreifer zu schützen. Ich werde in naher Zukunft weitere 7 .htaccess Tipps veröffentlichen mit Fokus auf Page Speed, tragt euch in unseren Newsletter ein, damit ihr auch kommen Beiträge von uns nicht verpasst.