htaccess wordpress top tricks - Blogartikel von slidebird webdesign wien

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?

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.

Daniel Knoflicek ist seit 2012 Geschäftsführer von Slidebird Webstories, einer Agentur für online Marketing, Webdesign und Webentwicklung. Des Weiteren hat Daniel Knoflicek das Start Up Ernst M. gegründet, welches vegane, bio Marmelade in Österreich herstellet und vertreibt. Er ist als CTO für das Start Up tätig. Seit 2015 und der Gründung von DESK.WORKS ist Daniel Knoflicek als Brand Ambassador für Österreich zuständig.