Att redigera webbplatsens .htaccess-fil kan låta skrämmande för WordPress-nybörjare. Men enligt vår erfarenhet är det ett verktyg som du kan använda för att förbättra din webbplats prestanda, säkerhet och SEO.
Du kan se filen som en kontrollpanel där du kan finjustera webbplatsens serverinställningar utan att behöva vara en kodningsguide.
I den här artikeln visar vi dig några användbara .htaccess-trick för WordPress som ger dig större kontroll över din närvaro på nätet.
Vad är .htaccess-filen och hur redigerar jag den?
.htaccess-filen är en konfigurationsfil för Apache web server. Det är en textfil som allow you att definiera regler som din server ska följa för din WordPress website.
WordPress använder .htaccess-filen för att generera en sökmotorsoptimering av URL-strukturen. Den här filen kan dock göra mycket mer än att bara lagra inställningar för permalänkar.
.htaccess-filen är placerad i din WordPress-webbplats rotmapp. Du måste ansluta till din website med en FTP-klient eller cPanel-filhanterare för att kunna edit den.
Om du inte hittar din .htaccess-fil kan du läsa vår guide om hur du hittar .htaccess-filen i WordPress.
Innan du editerar din .htaccess-fil är det viktigt att du downloadar en kopia av den till din dator som backup. Du kan använda den filen om något skulle gå fel.
Med detta sagt, låt oss ta en titt på några användbara .htaccess-trick för WordPress som du kan prova:
- 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. Skydda ditt admin area i WordPress
Du kan använda .htaccess för att skydda din WordPress admin area genom att begränsa åtkomsten till endast valda IP-adresser.
Bara copy and paste det här code snippet till din .htaccess-fil:
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>
Glöm inte att ersätta xx-värdena med din egen IP-adress. Om du använder mer än en IP-adress för att komma åt internet, se till att du addar dem också.
Detaljerade instruktioner finns i vår guide om hur du begränsar åtkomsten till WordPress-admin med hjälp av .htaccess.
2. Skydda WordPress Admin Folder med password
Om du kommer åt din WordPress site från flera locations, inklusive offentliga webbplatser, kanske det inte fungerar för your att begränsa åtkomsten till specifika IP-adresser.
Du kan använda .htaccess-filen för att add to ytterligare ett password-skydd till din WordPress admin area.
Först måste du generera en .htpasswds-fil. Du kan enkelt skapa en sådan genom att använda den här generatorn online.
Upload denna .htpasswds-fil utanför din offentligt tillgängliga web directory eller /public_html/
folder. En bra sökväg skulle vara:
/home/användare/.htpasswds/public_html/wp-admin/passwd/
Följaktligen skapar du en .htaccess-fil och uploadar den i /wp-admin/
directory och addar sedan till följande kod där:
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>
Import: Glöm inte att ersätta AuthUserFile-sökvägen
med filvägen till din .htpasswds-fil och add to ditt eget användarnamn.
Detaljerade instruktioner finns i vår guide om hur du skyddar WordPress admin folder med password.
3. Inaktivera Directory Browsing
Många säkerhetsexperter på WordPress rekommenderar att du inaktiverar directory browsing. Med aktiverad directory browsing kan hackare titta in i din sites katalog- och filstruktur för att hitta en sårbar fil.
Om du vill inaktivera browsing i directory på din website måste du add to följande rad i din .htaccess-fil:
Options -Indexes
Mer information om ämnet finns i vår guide om hur du inaktiverar browsing av directory i WordPress.
4. Inaktivera körning av PHP i vissa directories i WordPress
Ibland bryter sig hackare in på en WordPress site och installerar en bakdörr. Dessa bakdörrsfiler är ofta förklädda till WordPress core-filer och placeras i /wp-includes/
eller /wp-content/uploads/
folders.
Ett enklare sätt att förbättra din WordPress-säkerhet är att inaktivera PHP-körning för vissa WordPress-kataloger.
Du måste skapa en tom .htaccess-fil på din dator och sedan klistra in följande kod i den:
<Files *.php>
deny from all
</Files>
Save filen och upload den sedan till dina /wp-content/uploads/
och /wp-includes/
directories.
För mer information, kontrollera vår tutorial om hur du inaktiverar PHP-körning i vissa WordPress-kataloger.
5. Skydda din WordPress-konfigurationsfil wp-config.php
Den förmodligen viktigaste filen i din WordPress website’s root directory är filen wp-config.php. Den innehåller information om din WordPress Database och hur du ansluter till den.
För att skydda filen wp-config.php från obehörig åtkomst addar du helt enkelt den här koden till din .htaccess-fil:
<files wp-config.php>
order allow,deny
deny from all
</files>
6. Konfigurera 301 Redirect genom .htaccess-fil
Att använda 301 redirects är det mest sökmotorsoptimerande sättet att berätta för dina användare att content har flyttats till en new location. Om du vill hantera dina 301-omdirigeringar på ett korrekt sätt för varje post, kontrollera vår guide om hur du ställer in omdirigeringar i WordPress.
Å andra sidan, om du snabbt vill ställa in redirects, behöver du all bara klistra in den här koden i din .htaccess-fil:
Redirect 301 /oldurl/ http://www.example.com/newurl
Redirect 301 /category/television/ http://www.example.com/category/tv/
7. Förbjud misstänkta IP-adresser
Ser du ovanligt många requests till din website från en viss IP-adress? Du kan enkelt blockera dessa requests genom att blockera IP-adressen i din .htaccess-fil.
Add helt enkelt följande kod till din .htaccess-fil:
<Limit GET POST>
order allow,deny
deny from xxx.xxx.xx.x
allow from all
</Limit>
Glöm inte att ersätta xx med den IP-adress som du vill blockera.
8. Inaktivera hotlinking av images i WordPress med hjälp av .htaccess
Andra webbplatser som direkt hotlinkar images från din site kan göra din WordPress site långsam och överskrida din bandbredds limit. Detta är inte en stor issue för de flesta mindre websites. Men om du run en populär website eller en website med många bilder kan detta bli ett allvarligt problem.
Du kan förhindra hotlinking av images genom att lägga till den här koden i din .htaccess-fil:
#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]
Denna kod allow endast images att visas om request kommer från wpbeginner.com eller Google.com. Glöm inte att ersätta wpbeginner.com med ditt eget domain name.
Om du vill veta mer om hur du skyddar dina images kan du läsa vår guide om hur du förhindrar bildstöld i WordPress.
9. Skydda .htaccess från obehörig åtkomst
Som you har sett finns det så många saker som kan göras med hjälp av .htaccess-filen. På grund av den makt och control den har på din web server är det viktigt att skydda den från obehörig åtkomst av hackare.
Add helt enkelt följande kod till din .htaccess-fil:
<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>
10. Öka storleken på filuppladdare i WordPress
Det finns olika sätt att öka limiten för uppladdare av filer i WordPress. För användare på delade webbhotell fungerar dock inte vissa av dessa metoder.
En av de metoder som har fungerat för många användare är att lägga till följande kod i sin .htaccess-fil:
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300
Denna kod säger helt enkelt till din web server att använda dessa värden för att öka filens upload-storlek samt maximal exekveringstid i WordPress.
11. Inaktivera åtkomst till filen XML-RPC med hjälp av .htaccess
Varje install av WordPress levereras med en fil som heter xmlrpc.php. Den här filen allow appar från tredje part att ansluta till din WordPress site. De flesta säkerhetsexperter på WordPress rekommenderar att om du ej använder några appar från tredje part bör du inaktivera den här funktionen.
Det finns flera sätt att göra det på. Ett av dem är att lägga till följande kod i din .htaccess-fil:
# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>
För mer information, se vår guide om hur du inaktiverar XML-RPC i WordPress.
12. Blockera skanning av författare i WordPress
En vanlig teknik som används i brute force-attacker är att runna författarskanningar på en WordPress site och sedan försöka knäcka lösenord för dessa användarnamn.
Du kan blockera sådana skanningar genom att lägga till följande kod i din .htaccess-fil:
# BEGIN block author scans
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} (author=\d+) [NC]
RewriteRule .* - [F]
# END block author scans
För mer information, se vår artikel om hur man motverkar brute force-attacker genom att blockera författarskanningar i WordPress.
Vi hoppas att den här artikeln hjälpte dig att lära dig de mest användbara .htaccess-tricken för WordPress. Du kanske också vill se vår guide om hur du utför en säkerhetsgranskning av WordPress och vårt expertval av de bästa WordPress-pluginsen för innehållsskydd.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Syed Balkhi says
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!
Jiří Vaněk says
I was quite interested in point 9, protecting htaccess itself. Does this mean that this file is also available in a way other than FTP? I tried to access it classically through a web browser and I couldn’t find a way to do it. From what I understand, expressions prohibit access to anything with hh, tt, aa in the name. Does this mean that there is a way to attack htaccess other than via FTP?
WPBeginner Support says
There are more ways than only FTP to access files, this is one way to help limit the ways to access as another tool for your site’s security.
Administratör
Jiří Vaněk says
I understand and thank you for the response. I set the permissions to 644 on the htaccess file and also inserted your directives into it. Thank you for this article, which once again opened my eyes because I always thought that htaccess could only be managed through FTP or the WordPress admin. One is always learning :).
Simeon says
Thanks so much for this. Very helpful!
WPBeginner Support says
Glad it was helpful!
Administratör
Jackson Andrade says
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 says
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.
Administratör
Jackson Andrade says
Thanks for that Info. Hope WordPress adds a feature in future where it won’t redirect to login.php for logging out.
HtaccessGuy says
Don’t password protect wpadmin if you use AJAX else it’l break stuff.
WPBeginner Support says
If you mean for 2 in this list, we’ve added code to allow ajax to continue to work.
Administratör
Ana says
This resolved my issue with above code. Thanks.
Abhi says
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 says
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/
Administratör
Ben says
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 says
None of these tricks are required if you don’t want to use them, they are only helpful tools that you can use.
Administratör
Sebastian says
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 says
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.
Administratör
reus says
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 says
If you wanted to use that, you would need to set the information in the htpasswds file
Administratör
reus says
thank you for your response, how to set that information in the htpasswds? thank you
WPBeginner Support says
We show the tool to use under tip 2 in the article
Selvakumaran Krishnan says
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 says
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 says
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 says
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 says
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 says
Hi Pankaj,
The code in the 5th trick needs to be pasted in .htaccess file and not in wp-config.php file.
Administratör
Maximilian says
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 says
Hi Maximilian,
You can add new lines after the #END WordPress line.
Administratör
yudi cahyadi says
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 says
Hi Yudi Cahyadi,
Yes, you still need to install a security plugin. Please see our WordPress security guide for more information.
Administratör
Mario von Gollaz says
Hi there, nice article. Is there a way to bulk redirect?
Mario
Kevin says
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 says
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 says
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.
Administratör
Adrienne Warden says
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 says
That is a nice article about htaccess. But how to implement this in one file? Can I put all lines after another?
WPBeginner Support says
Hi Fien,
You can add them one after another.
Administratör
Liew CheonFong says
Great list. Bookmarked!
Do you have same list for NGINX web server (which does not read .htaccess file) ?
Pattye says
There is a way to ban bots from crawling your site the this file. Any suggestions in doing that, besides banning the IP?