En av våra läsare frågade oss nyligen om det är möjligt att förhindra att WordPress skriver över deras anpassade kod i .htaccess-filen. Detta är ett vanligt problem eftersom WordPress och olika plugins ofta lägger till egna inställningar i den här konfigurationsfilen.
Om du har lagt till anpassad kod i .htaccess är det förståeligt att du oroar dig för att den ska skrivas över eller raderas. Genom att hålla den här koden säker kan du förhindra störningar i webbplatsens prestanda och säkerhet.
I den här artikeln guidar vi dig genom stegen för att hindra WordPress från att skriva över .htaccess-filen. Genom att följa dessa instruktioner kan du skydda din anpassade kod och se till att din webbplats fungerar smidigt utan störningar.
Varför skriver WordPress över .htaccess-filen?
Din .htaccess-fil är en kraftfull konfigurationsfil som lagrar viktiga Settings för din WordPress website. Den innehåller regler som talar om för ditt webbhotell hur servern ska hantera din site.
WordPress använder filen .htaccess för att lagra sina settings för permalänkar. När du ändrar eller återskapar dina permalänkar kommer WordPress automatiskt att skriva över de gamla inställningarna i .htaccess med de nya inställningarna.
Vissa tillägg till WordPress sparar också sina Settings i .htaccess. Till exempel kommer tillägget W3 Total Cache att ändra din .htaccess-fil för att konfigurera de tools för caching och optimering som ingår i pluginet.
Slutligen kan du göra dina egna customize-ändringar i .htacess för att kontrollera hur din website fungerar. Till exempel kan du add to custom regler till filen som skyddar din admin area, håller din site säker från hackare, ställer in redirects, förbjuder misstänkta IP-adresser, och mer.
Vissa användare är oroliga för att om de addar sina egna customize-regler till .htaccess, så kan de bli borttagna när WordPress skriver över filen med new inställningar. Andra användare föredrar att konfigurera .htaccess manuellt och inte låta WordPress skriva till den all.
Med detta sagt, låt oss ta en titt på hur du hindrar WordPress från att skriva över din .htaccess-fil. Använd bara snabblänkarna under för att hoppa till den section som du är intresserad av:
Så här hindrar du WordPress från att skriva över dina .htaccess-regler
Den goda nyheten är att om du förstår hur .htaccess-filen fungerar kan du vara säker på att dina customize-regler inte kommer att skrivas över.
Det beror på att de area i filen som kommer att ändras av WordPress eller dina tillägg är clear markerade. Se bara till att du inte addar kod till dessa areas.
Ändra inte koden inuti WordPress-markörerna
Som vi sa tidigare använder WordPress .htaccess för att lagra settings för en sökmotorsoptimering av URL:er. Koden som sparas i filen skrivs automatiskt över och uppdateras när du ändrar inställningarna för din permalänk.
Som du kan se i screenshoten under, WordPress sparar denna information mellan två markörer, # BEGIN WordPress
och # END
WordPress.
Notice the warning inside those markers:
Direktiven (raderna) mellan ”BEGIN WordPress” och ”END WordPress” genereras dynamiskt och bör endast ändras via WordPress filter. Alla ändringar av direktiven mellan dessa markörer kommer att skrivas över.
Detta innebär att WordPress inte kommer att skriva över eller ändra någon kod som du addar utanför dessa markörer. Användare addar vanligtvis sin custom code högst upp i filen, ovanför # BEGIN WordPress-markören
.
Tips:.htaccess är en dold fil som ligger i din WordPress-webbplats rotfolder. Om du har svårt att hitta den kan du ta en titt på vår guide om varför du inte hittar .htaccess-filen på din site i WordPress.
Ändra inte koden inuti tilläggens markörer
När ett plugin sparar sina settings i .htaccess placeras de också mellan markörer som gillar # BEGIN Plugin
och # END
Plugin
.
Om du till exempel installerar och ställer in W3 Total Cache plugin för att förbättra din webbplats hastighet och prestanda, kommer det att lägga till regler i .htaccess mellan # BEGIN W3TC Browser
Cache och # END W3TC Browser Cache
markörer.
Dessa regler kommer att skrivas över när du ändrar pluginets inställningar, så du måste vara försiktig så att du ej addar dina egna custom .htaccess-regler mellan dessa markörer.
Skapa markörer för din Custom Code
I sällsynta fall kan ett tillägg med dåligt uppförande ändra kod utanför dess # BEGIN-
och # END-markörer
. Det kommer dock normalt ej att ändra kod som finns mellan de markörer som används av WordPress eller andra tillägg.
Om du är orolig för att ett plugin med dåligt uppförande skriver över din kod kan du add to dina egna markörer till .htaccess-filen.
Du kan till exempel skriva markörerna # BEGIN MyCustomCode
och # END MyCustomCode
högst upp i .htaccess-filen och sedan add to dina egna custom-regler mellan dessa markörer.
Om du också behöver lägga till kod i slutet av .htaccess kan du lägga till en annan uppsättning markörer där. Var bara noga med att ge dem olika namn. Du kan till exempel använda ”MyCustomCodeTop” och ”MyCustomCodeBottom”.
Så här hindrar du WordPress från att ändra .htaccess
Nu när du förstår hur .htaccess fungerar kan du vara säker på att din customize-kod inte kommer att skrivas över av WordPress eller dina tillägg.
Vissa utvecklare och avancerade användare vill dock hindra WordPress från att göra några ändringar i .htaccess.
Du kanske till exempel vill skapa permalänkar genom att skriva in settings manuellt i .htaccess. I det här fallet vill du undvika konflikter genom att hindra WordPress från att saved sina egna permalänk-inställningar till filen.
Vi rekommenderar inte detta om du inte vet vad du gör eftersom det kan leda till oväntade konsekvenser. Det kan dock göras genom att ändra filens behörigheter eller använda kod.
Stoppa WordPress från att ändra .htaccess med hjälp av filbehörigheter
Ett sätt att hindra WordPress från att ändra .htaccess är att göra filen skrivskyddad. För att göra detta måste du ändra filbehörigheterna med hjälp av en FTP-klient eller filhanteraren som tillhandahålls av din WordPress hosting provider.
Du hittar .htaccess-filen i rotkatalogen i din WordPress installation. Därefter ska du högerklicka på filen och välja ”File permissions”.
Detta kommer att visa ett popup-fönster där du kan ändra filens attribut.
Standardinställningen är 644, men du kan ändra detta till 444 genom att skriva direkt i fältet ”Numeriskt värde” eller se till att endast boxarna ”Läsa” är kontrollerade.
När du klickar på knappen ”OK” kommer filen att vara skrivskyddad och kan inte ändras.
Detta innebär naturligtvis att du inte heller kan skriva till filen. När du vill göra ändringar måste du tillfälligt sätta tillbaka filens behörighet till 644.
Stoppa WordPress från att ändra .htaccess med hjälp av kod
En annan lösning är att använda ett code snippet som låter WordPress veta att de ej ska skriva till .htaccess-filen. Detta är användbart om du vill hindra WordPress från att ändra .htaccess utan att blockera dina tillägg.
Note: Det kan vara farligt att edit:a filer i WordPress core. Även ett litet misstag kan orsaka stora error på din site. Därför rekommenderar vi denna metod endast för avancerade användare.
Lägg bara till följande code snippet i slutet av din wp-config.php-fil. Om du behöver hjälp kan du vänligen läsa vår guide om hur du editerar wp-config.php-filen i WordPress:
add_filter('got_rewrite', '__return_false');
När du har gjort det kommer WordPress inte längre att skriva till .htaccess-filen.
Error Message displayed när WordPress inte kan ändra .htaccess
Om you försöker ändra inställningarna för permalänken när .htaccess är inställd på skrivskyddad kommer ett error message att displayed.
Högst upp på Settings ” Permalinks page, you will see the message ” You should update your .htaccess file now.
Då får du veta att WordPress inte kunde ändra filen .htaccess.
Normalt är detta vad du avsåg. Men om du vill add to inställningarna för permalänkar i WordPress till .htaccess, måste du göra det manuellt.
Längst ner på sidan Settings ” Permalinks kommer du att se ett annat error message som säger att din .htaccess-fil inte är skrivbar. Under det ser du de regler som måste addas till .htaccess.
Om du vill add to dessa Settings måste du tillfälligt ändra behörigheterna för .htaccess-filen tillbaka till 644 så att den kan editeras. Efter det ska du klistra in reglerna mellan filens WordPress BEGIN- och END-markörer och ersätta den kod som redan finns där.
När du är slutförd ställer du bara in värdet på 444 igen och savear filen. Den kommer återigen att vara oskrivbar.
Expertguider om .htaccess i WordPress
Vi hoppas att denna handledning hjälpte dig att lära dig hur du hindrar WordPress från att skriva över .htaccess-filen. Du kanske också vill se några andra guider som rör .htaccess-filen:
- Ordlista: .htaccess
- Så här fixar du .htaccess-filen i WordPress (Beginner’s Guide)
- De mest användbara .htaccess-tricken för WordPress
- Varför kan du inte hitta .htaccess-filen på din site i WordPress
- Så här addar du HTTP Security Rubriker i WordPress (Beginner’s Guide)
- Så här addar du Expires Rubriker i WordPress
- Beginner’s Guide to Troubleshooting WordPress Errors (Steg för steg)
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.
Jiří Vaněk
This was one of the first articles on WPBeginner when I deliberately searched for why a customer’s .htaccess was being overwritten. Now we know it, understand it, and also write .htaccess correctly. Many thanks for understanding the reason.
WPBeginner Support
Glad our guide could help!
Administratör