Die Bearbeitung der .htaccess-Datei Ihrer Website kann für WordPress-Anfänger einschüchternd wirken. Unserer Erfahrung nach ist dies jedoch ein Werkzeug, mit dem Sie die Leistung, Sicherheit und SEO Ihrer Website verbessern können.
Sie können sich die Datei wie ein Kontrollzentrum für die Feinabstimmung der Server-Einstellungen Ihrer Website vorstellen, ohne dass Sie ein Programmierexperte sein müssen.
In diesem Artikel zeigen wir Ihnen einige nützliche .htaccess-Tricks für WordPress, mit denen Sie mehr Kontrolle über Ihre Online-Präsenz haben.
Was ist die .htaccess-Datei und wie kann man sie bearbeiten?
Die .htaccess-Datei ist eine Konfigurationsdatei für den Apache-Webserver. Es handelt sich dabei um eine Textdatei, in der Sie Regeln festlegen können, die Ihr Server für Ihre WordPress-Website befolgen soll.
WordPress verwendet die .htaccess-Datei, um eine SEO-freundliche URL-Struktur zu erzeugen. Diese Datei kann jedoch viel mehr als nur Permalink-Einstellungen speichern.
Die .htaccess-Datei befindet sich im Stammverzeichnis Ihrer WordPress-Website. Sie müssen sich mit einem FTP-Client oder einem cPanel-Dateimanager mit Ihrer Website verbinden, um sie zu bearbeiten.
Wenn Sie Ihre .htaccess-Datei nicht finden können, lesen Sie unsere Anleitung, wie Sie die .htaccess-Datei in WordPress finden.
Bevor Sie Ihre .htaccess-Datei bearbeiten, sollten Sie unbedingt eine Kopie davon auf Ihren Computer herunterladen, um sie zu sichern. Sie können diese Datei verwenden, falls etwas schief geht.
Schauen wir uns also einige nützliche .htaccess-Tricks für WordPress an, die Sie ausprobieren können:
- Protect Your WordPress Admin Area
- Password Protect WordPress Admin Folder
- Disable Directory Browsing
- Disable PHP Execution in Some WordPress Directories
- Protect Your WordPress Configuration wp-config.php File
- Setting Up 301 Redirects Through .htaccess File
- Ban Suspicious IP Addresses
- Disable Image Hotlinking in WordPress Using .htaccess
- Protect .htaccess From Unauthorized Access
- Increase File Upload Size in WordPress
- Disable Access to XML-RPC File Using .htaccess
- Blocking Author Scans in WordPress
1. Schützen Sie Ihren WordPress-Adminbereich
Sie können .htaccess verwenden, um Ihren WordPress-Administrationsbereich zu schützen, indem Sie den Zugriff nur auf bestimmte IP-Adressen beschränken.
Kopieren Sie einfach diesen Codeschnipsel und fügen Sie ihn in Ihre .htaccess-Datei ein:
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "WordPress Admin Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
# whitelist Syed's IP address
allow from xx.xx.xx.xxx
# whitelist David's IP address
allow from xx.xx.xx.xxx
</LIMIT>
Vergessen Sie nicht, xx-Werte durch Ihre eigene IP-Adresse zu ersetzen. Wenn Sie mehr als eine IP-Adresse für den Internetzugang verwenden, müssen Sie diese ebenfalls hinzufügen.
Detaillierte Anweisungen finden Sie in unserer Anleitung zur Beschränkung des Zugriffs auf den WordPress-Admin mit .htaccess.
2. Passwortschutz für den WordPress-Admin-Ordner
Wenn Sie von mehreren Standorten aus auf Ihre WordPress-Website zugreifen, einschließlich öffentlicher Internetspots, dann ist die Beschränkung des Zugriffs auf bestimmte IP-Adressen möglicherweise nicht sinnvoll.
Sie können die .htaccess-Datei verwenden, um einen zusätzlichen Passwortschutz für Ihren WordPress-Administrationsbereich hinzuzufügen.
Zunächst müssen Sie eine .htpasswds-Datei erstellen. Mit diesem Online-Generator können Sie eine solche Datei leicht erstellen.
Laden Sie diese .htpasswds-Datei außerhalb Ihres öffentlich zugänglichen Webverzeichnisses oder des Ordners /public_html/
hoch. Ein guter Pfad wäre:
/home/user/.htpasswds/public_html/wp-admin/passwd/
Als Nächstes erstellen Sie eine .htaccess-Datei, laden sie in das Verzeichnis /wp-admin/
hoch und fügen dort den folgenden Code ein:
AuthName "Admins Only"
AuthUserFile /home/yourdirectory/.htpasswds/public_html/wp-admin/passwd
AuthGroupFile /dev/null
AuthType basic
require user putyourusernamehere
<Files admin-ajax.php>
Order allow,deny
Allow from all
Satisfy any
</Files>
Wichtig! Vergessen Sie nicht, den Pfad AuthUserFile
durch den Dateipfad Ihrer .htpasswds-Datei zu ersetzen und Ihren eigenen Benutzernamen hinzuzufügen.
Detaillierte Anweisungen finden Sie in unserer Anleitung zum Passwortschutz des WordPress-Admin-Ordners.
3. Verzeichnisdurchsuchung deaktivieren
Viele WordPress-Sicherheitsexperten empfehlen, das Directory Browsing zu deaktivieren. Bei aktiviertem Directory Browsing können Hacker die Verzeichnis- und Dateistruktur Ihrer Website einsehen, um eine angreifbare Datei zu finden.
Um das Durchsuchen von Verzeichnissen auf Ihrer Website zu deaktivieren, müssen Sie die folgende Zeile zu Ihrer .htaccess-Datei hinzufügen:
Options -Indexes
Weitere Informationen zu diesem Thema finden Sie in unserer Anleitung zum Deaktivieren des Directory Browsing in WordPress.
4. Deaktivieren der PHP-Ausführung in einigen WordPress-Verzeichnissen
Manchmal dringen Hacker in eine WordPress-Website ein und installieren eine Backdoor. Diese Backdoor-Dateien sind oft als WordPress-Kerndateien getarnt und befinden sich in den Ordnern /wp-includes/
oder /wp-content/uploads/
.
Eine einfachere Möglichkeit, die Sicherheit von WordPress zu verbessern, besteht darin, die PHP-Ausführung für einige WordPress-Verzeichnisse zu deaktivieren.
Sie müssen eine leere .htaccess-Datei auf Ihrem Computer erstellen und den folgenden Code darin einfügen:
<Files *.php>
deny from all
</Files>
Speichern Sie die Datei und laden Sie sie dann in Ihre Verzeichnisse /wp-content/uploads/
und /wp-includes/
hoch.
Weitere Informationen finden Sie in unserer Anleitung, wie Sie die Ausführung von PHP in bestimmten WordPress-Verzeichnissen deaktivieren können.
5. Schützen Sie Ihre WordPress-Konfigurationsdatei wp-config.php
Die wahrscheinlich wichtigste Datei im Stammverzeichnis Ihrer WordPress-Website ist die Datei wp-config.php. Sie enthält Informationen über Ihre WordPress-Datenbank und wie Sie sich mit ihr verbinden können.
Um Ihre Datei wp-config.php vor unbefugtem Zugriff zu schützen, fügen Sie einfach diesen Code in Ihre .htaccess-Datei ein:
<files wp-config.php>
order allow,deny
deny from all
</files>
6. Einrichten von 301-Weiterleitungen über die .htaccess-Datei
Die Verwendung von 301-Weiterleitungen ist die SEO-freundlichste Methode, um Ihren Nutzern mitzuteilen, dass Inhalte an einen neuen Ort verschoben wurden. Wenn Sie Ihre 301-Weiterleitungen für jeden einzelnen Beitrag richtig verwalten möchten, lesen Sie unseren Leitfaden zur Einrichtung von Weiterleitungen in WordPress.
Wenn Sie hingegen schnell Weiterleitungen einrichten möchten, müssen Sie nur diesen Code in Ihre .htaccess-Datei einfügen:
Redirect 301 /oldurl/ http://www.example.com/newurl
Redirect 301 /category/television/ http://www.example.com/category/tv/
7. Verdächtige IP-Adressen sperren
Erleben Sie ungewöhnlich viele Zugriffe auf Ihre Website von einer bestimmten IP-Adresse? Sie können diese Anfragen leicht blockieren, indem Sie die IP-Adresse in Ihrer .htaccess-Datei sperren.
Fügen Sie einfach den folgenden Code in Ihre .htaccess-Datei ein:
<Limit GET POST>
order allow,deny
deny from xxx.xxx.xx.x
allow from all
</Limit>
Vergessen Sie nicht, xx durch die IP-Adresse zu ersetzen, die Sie blockieren möchten.
8. Hotlinking von Bildern in WordPress mit .htaccess deaktivieren
Andere Websites, die Bilder direkt von Ihrer Website verlinken, können Ihre WordPress-Website verlangsamen und Ihr Bandbreitenlimit überschreiten. Für die meisten kleineren Websites ist dies kein großes Problem. Wenn Sie jedoch eine beliebte Website oder eine Website mit vielen Fotos betreiben, kann dies zu einem ernsthaften Problem werden.
Sie können das Hotlinking von Bildern verhindern, indem Sie diesen Code zu Ihrer .htaccess-Datei hinzufügen:
#disable hotlinking of images with forbidden or custom image option
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?wpbeginner.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L]
Mit diesem Code können nur Bilder angezeigt werden, wenn die Anfrage von wpbeginner.com oder Google.com stammt. Vergessen Sie nicht, wpbeginner.com durch Ihren eigenen Domainnamen zu ersetzen.
Weitere Möglichkeiten zum Schutz Ihrer Bilder finden Sie in unserem Leitfaden zum Schutz vor Bilddiebstahl in WordPress.
9. .htaccess vor unberechtigtem Zugriff schützen
Wie Sie gesehen haben, gibt es so viele Dinge, die mit der .htaccess-Datei gemacht werden können. Aufgrund der Macht und Kontrolle, die sie auf Ihrem Webserver hat, ist es wichtig, sie vor unbefugtem Zugriff durch Hacker zu schützen.
Fügen Sie einfach den folgenden Code in Ihre .htaccess-Datei ein:
<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>
10. Größe des Dateiuploads in WordPress erhöhen
Es gibt verschiedene Möglichkeiten, das Limit für die Datei-Upload-Größe in WordPress zu erhöhen. Für Benutzer von Shared Hosting funktionieren einige dieser Methoden jedoch nicht.
Eine der Methoden, die sich bei vielen Benutzern bewährt hat, ist das Hinzufügen des folgenden Codes zu ihrer .htaccess-Datei:
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300
Dieser Code weist Ihren Webserver einfach an, diese Werte zu verwenden, um die Datei-Upload-Größe sowie die maximale Ausführungszeit in WordPress zu erhöhen.
11. Zugriff auf XML-RPC-Datei mit .htaccess deaktivieren
Jede WordPress-Installation wird mit einer Datei namens xmlrpc.php geliefert. Diese Datei ermöglicht es Anwendungen von Drittanbietern, sich mit Ihrer WordPress-Website zu verbinden. Die meisten WordPress-Sicherheitsexperten raten, dass Sie diese Funktion deaktivieren sollten, wenn Sie keine Anwendungen von Drittanbietern verwenden.
Es gibt mehrere Möglichkeiten, dies zu tun. Eine davon ist, den folgenden Code in Ihre .htaccess-Datei einzufügen:
# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>
Weitere Informationen finden Sie in unserer Anleitung zur Deaktivierung von XML-RPC in WordPress.
12. Blockieren von Autoren-Scans in WordPress
Eine gängige Technik, die bei Brute-Force-Angriffen eingesetzt wird, ist die Durchführung von Autorenscans auf einer WordPress-Website und der anschließende Versuch, die Kennwörter für diese Benutzernamen zu knacken.
Sie können solche Scans blockieren, indem Sie den folgenden Code zu Ihrer .htaccess-Datei hinzufügen:
# BEGIN block author scans
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} (author=\d+) [NC]
RewriteRule .* - [F]
# END block author scans
Weitere Informationen finden Sie in unserem Artikel über die Verhinderung von Brute-Force-Angriffen durch Blockieren von Autoren-Scans in WordPress.
Wir hoffen, dass dieser Artikel Ihnen geholfen hat, die nützlichsten .htaccess-Tricks für WordPress zu lernen. Vielleicht interessieren Sie sich auch für unsere Anleitung zur Durchführung eines WordPress-Sicherheitsaudits und unsere Expertenauswahl der besten Plugins zum Schutz von WordPress-Inhalten.
Wenn Ihnen dieser Artikel gefallen hat, dann abonnieren Sie bitte unseren YouTube-Kanal für WordPress-Videotutorials. Sie können uns auch auf Twitter und Facebook finden.
Syed Balkhi
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
Simeon
Thanks so much for this. Very helpful!
WPBeginner Support
Glad it was helpful!
Admin
Jackson Andrade
I use password protection for wp-login.php. My customers cannot logout when login.php is protected. Is there a way I can allow customers to logout without calling wp-login.php?action=logout?
Admins too can’t logout, but that’s not an issue.
Woocommerce customer’s logut url is, domain.com/account/customer-logout.
Both call wp-login.php for logout. Customers are asked for htaccess id and password. If there is a workaround, let me know. Thanks
WPBeginner Support
If your site has a login for users who are not your admins then we would not recommend password protecting your wp-login.php for the time being and we do not have a workaround at this time.
Admin
Jackson Andrade
Thanks for that Info. Hope Wordpress adds a feature in future where it won’t redirect to login.php for logging out.
HtaccessGuy
Don’t password protect wpadmin if you use AJAX else it’l break stuff.
WPBeginner Support
If you mean for 2 in this list, we’ve added code to allow ajax to continue to work.
Admin
Ana
This resolved my issue with above code. Thanks.
Abhi
Please Help Me.
when I paste the following code in .htaccess file it shows an error that is..
It appears you don’t have
permission to access this page.
403 Error. Forbidden.
WPBeginner Support
For resolving the 403 error, you would want to take a look at our guide here: https://www.wpbeginner.com/wp-tutorials/how-to-fix-the-403-forbidden-error-in-wordpress/
Admin
Ben
Great article!
Do I need to do this if I already have installed WordFence plugin?
Some people don’t recommend messing with .htaccess file.
Regards.
WPBeginner Support
None of these tricks are required if you don’t want to use them, they are only helpful tools that you can use.
Admin
Sebastian
I am not sure what does „Protect .htaccess From Unauthorized Access“ mean exactly. Will I be able to access it if I make changes from point 9?
WPBeginner Support
It means if someone knows where your htaccess is located and tries to view the file by putting that address in the url, the browser will not be able to view it.
Admin
reus
how to use wp login user name and password (registered user) to access in your no. 2 topic (Password Protect WordPress Admin Folder).
hope to to find answer here.
thank you
WPBeginner Support
If you wanted to use that, you would need to set the information in the htpasswds file
Admin
reus
thank you for your response, how to set that information in the htpasswds? thank you
WPBeginner Support
We show the tool to use under tip 2 in the article
Selvakumaran Krishnan
Hai Syed Balkhi,
I have to open a URL which has query parameters and strings like this.
something.example.com/pagename.php?query1=string1&query2=string2&redirecturl=http%3A%2F%2Fsomething.example2.com/something&query3=string3
In the above URL, the problem is %3A%2F%2F. It shows 403 forbidden error. If I remove that part, the URL works fine.
I have searched and tried all the methods like mod rewrite, redirect, etc,. but nothing works.
Is there any way to remove (or) rewrite (or) redirect that encoded part using .htaccess file. That part is in the middle of so many parameters. There are a lot of query parameters before and after that part.
Please share your idea.
Kathrine
This is a great article!! I followed your instructions and everything works fine. I tried to open my admin site using the different IP address and it works great. Thank you for sharing your knowledge.
Mohamed Adel
When Protecting the directory to wp-admin (as explained in 2. Password Protect WordPress Admin Folder), wen I go to any page on the site the massage appears to put password.. How to fix that?
I tried from Cpanel and the same problem happens
Tony
The tip in point 4 for disabling php execution has started to cause issues with the tinymce editor in pages & posts. A php file is included in the tinymce folder that loads the relevant js files. I’ve just removed the htaccess code from the wp-include folder to stop the issue. Maybe there’s another way around this?
Pankaj
Point 5 is not working
(5. Protect Your WordPress Configuration wp-config.php File)
[05-Mar-2018 08:20:03 Etc/GMT] PHP Parse error: syntax error, unexpected ‚<' in /home/—–/public_html/xyz.com/wp-config.php on line 91
WPBeginner Support
Hi Pankaj,
The code in the 5th trick needs to be pasted in .htaccess file and not in wp-config.php file.
Admin
Maximilian
Hi there, thank you!
Is ist possible to see the whole .htaccess somewhere? Yes, i could read: „put one line after the other“ but still I am not sure.
Is then „# END WordPress° sill the last line or is it somewhere on the top then?
And what do you think about putting „Options -Indexes“ on the very end?
Thank you for your answer!
WPBeginner Support
Hi Maximilian,
You can add new lines after the #END WordPress line.
Admin
yudi cahyadi
good article..i have a question, after implementing the code in htaccess. Do I need to install a security plugin or not..??
yudi cb(beginner)
WPBeginner Support
Hi Yudi Cahyadi,
Yes, you still need to install a security plugin. Please see our WordPress security guide for more information.
Admin
Mario von Gollaz
Hi there, nice article. Is there a way to bulk redirect?
Mario
Kevin
Hi,
Great article and just one question!
Should you place the extra code (especially speed opimisations) before or after the # BEGIN WordPress part?
Regards
Kevin
Brian Wohn
Hi, my theme developer told me this might be in the htaccess, but I don’t know why my wordpress is adding this at the end of all my pages:
Any idea why its adding the „/?v=8f2564d40946“? I’ve checked my PermaLinks, Slugs, etc and nothing there?
Thanks for your help!
WPBeginner Support
Hi Brian,
It lools like GeoLocation tag added by WooCommerce.
If you are using WooCommerce, then you can turn it off. Go to WooCommerce General Options page and uncheck option ‚Geolocate with page caching support‘ option.
Admin
Adrienne Warden
Another wonderful post from WP Beginner…Just one tip for all us newbies…While WP Beginner has some of the best tips and trick for WordPress, when it comes to protecting your site, if you are on a shared server, search „support“ first. I’ve learned a lot about the backend from reading post on WP Beginner, but the truth of the matter is – I’m no backender and most shared hosting already have a fix in place for these sorts of things…I’m with InMotion and they actual have set up one click solutions for many issues that effect site security. I turned off the file Index right from CPanel…
Still WP Beginner is my go to for WordPress knowledge…You guys are awesome!
Fien
That is a nice article about htaccess. But how to implement this in one file? Can I put all lines after another?
WPBeginner Support
Hi Fien,
You can add them one after another.
Admin
Liew CheonFong
Great list. Bookmarked!
Do you have same list for NGINX web server (which does not read .htaccess file) ?
Pattye
There is a way to ban bots from crawling your site the this file. Any suggestions in doing that, besides banning the IP?