Cum să împiedici WordPress să suprascrie fișierul .htaccess?

Publicat: 2024-08-28

Este o problemă comună cu care s-au confruntat mulți utilizatori WordPress: WordPress suprascrie sau editează neintenționat fișierul .htaccess personalizat, fie singur, fie prin pluginurile sale.

Acest lucru se întâmplă în general neobservat, fără impact imediat asupra conținutului site-ului dvs., până când ceva începe să meargă prost sau o schimbare nedorită intră în vigoare.

În mod implicit, WordPress, în funcție de setările de configurare și de permisiuni, poate edita sau suprascrie automat fișierul .htaccess în tăcere. Chiar și pluginurile WordPress tind să modifice fișierul .htaccess pentru a se potrivi cu configurațiile lor.

Deși acest lucru este în general inofensiv, poate deveni problematic atunci când pluginuri sau teme terțe adaugă cod care suprascrie setările de bază ale site-ului web, ceea ce poate duce la riscuri de securitate sau probleme de performanță.

Pentru a vă ajuta să preveniți astfel de situații, vă vom îndruma cum să opriți suprascrierea fișierului .htaccess. Așa că, fără mai multă întârziere, să ne aruncăm.


Cuprins
Cum funcționează fișierul .htaccess și de ce Wpoven suprascrie chiar și conținutul fișierului .htaccess?
Cum să împiedici WordPress să suprascrie regulile fișierului .htacess?
Concluzie
Întrebări frecvente

Cum funcționează fișierul .htaccess și de ce Wpoven suprascrie chiar și conținutul fișierului .htaccess?

Cea mai bună modalitate de a preveni ca WordPress sau pluginurile să suprascrie fișierul .htaccess este să aflați mai întâi cum funcționează fișierul .htaccess. Vă va ajuta să aflați cauza principală a problemei și să înțelegeți ce să nu faceți.

Deci, fișierele .htaccess sunt ca o carte de reguli care conține un set de instrucțiuni despre cum ar trebui să se comporte site-ul dvs.

Scopul său principal este de a gestiona modul în care ar trebui să fie afișat conținutul și modul în care funcționează anumite plugin-uri. De exemplu, din fișierul .htaccess, puteți seta și regula de redirecționare 301, care face URL-urile prietenoase cu SEO și curate.

Dar dacă tu sau altcineva încearcă să actualizezi site-ul web, cum ar fi modificarea structurii URL, WordPress va actualiza automat și fișierul .htaccess pentru a reflecta acele modificări.

În mod similar, atunci când instalați pluginuri WordPress pe care le-ați putea folosi pentru a adăuga funcții suplimentare site-ului dvs., puteți adăuga propriile reguli/instrucțiuni la fișier.

Dar nu aceasta este problema, partea dificilă este că, atunci când au loc aceste modificări, instrucțiunile originale pe care le-ați introdus pot fi suprascrise, înlocuite sau șterse.

Acest lucru ar putea da peste cap modul în care funcționează sau arată site-ul tău, chiar dacă nu ai intenționat să se întâmple asta. Deci, pentru a opri sau preveni astfel de scenarii trebuie să urmați câteva sfaturi/instrucțiuni menționate mai jos:


Cum să împiedici WordPress să suprascrie regulile fișierului .htacess?

Deoarece fișierul .htaccess conține reguli sau instrucțiuni pe baza cărora funcționează site-ul dvs. web, acesta poate avea, de asemenea, adăugat un set personalizat de reguli pentru a nu mai fi suprascris în scenariile de mai sus.

Iată cum o poți face.

  • Evitați să adăugați sau să editați reguli între markerii sau etichetele WordPress
  • Evitați adăugarea sau editarea regulilor între marcatorii de plugin sau etichete
  • Setați permisiunea de fișier pentru a evita ca WordPress să suprascrie fișierul .htaccess
  • Opriți WordPress să suprascrie .htacess prin inserarea codului în fișierul wp-config.php

1. Evitați să adăugați sau să editați reguli între markerii sau etichetele WordPress

După cum am menționat deja, WordPress folosește un fișier .htaccess pentru a gestiona anumite setări WordPress, cum ar fi crearea de adrese URL structurate și curate, prietenoase cu SEO.

Când modificați structurile URL-urilor care sunt numite și „permalink-uri”, WordPress actualizează automat și codul din acest fișier.

Aceste setări de permalink sunt salvate între două etichete sau markeri WordPress: # BEGIN WordPress și # END WordPress .

Avoid adding or editing rules between the WordPress markers or Tags
Evitați să adăugați sau să editați reguli între markerii sau etichetele WordPress

Această zonă specială dintre aceste două etichete WordPress este complet rezervată pentru WordPress și, de asemenea, vă avertizează că orice modificări pe care le faceți între acești marcatori vor fi suprascrise data viitoare când WordPress actualizează fișierul.

Dosare : Dar cea mai bună parte este că WordPress nu va atinge niciun cod pe care îl adăugați în afara acestor marcatori sau etichete. Înseamnă că, dacă doriți să adăugați orice cod personalizat, încercați să îl introduceți sau să îl adăugați în partea de sus a fișierului, înainte de marcatorul # BEGIN WordPress .

Nu: Dar evitați să inserați sau să adăugați codul personalizat între markerii WordPress, deoarece acesta va fi șters sau înlocuit ori de câte ori WordPress își actualizează setările. Pentru a vă păstra setările personalizate în siguranță, plasați-le întotdeauna în afara acestor marcatori.


WPOven

2. Evitați adăugarea sau editarea regulilor între marcatorii de plugin sau etichete

La fel ca marcatorii WordPress, vi se cere să evitați editarea sau adăugarea de reguli între marcatorii sau etichetele pluginului.

Acest lucru se datorează faptului că pluginurile își pot adăuga propriile reguli la fișierul .htaccess similar cu WordPress și, atunci când o fac, își rezervă zona cu markeri sau etichete speciale care includ numele pluginului.

De exemplu, dacă un plugin numit „WProcket” adaugă reguli, le va marca cu # BEGIN WP Rocke t Browser Cache și # END WP Rocket Browser Cache.

Avoid adding or editing rules between the Plugin markers or Tags
Evitați adăugarea sau editarea regulilor între marcatorii de plugin sau etichete

Înseamnă că orice instrucțiune sau reguli pe care pluginul le adaugă între acești doi markeri sunt controlate pe deplin numai de plugin. În cazul în care modificați setările pluginului, acesta va actualiza aceste reguli și, eventual, va suprascrie orice între acești marcatori sau etichete.

Deci, dacă aveți reguli personalizate pe care nu doriți să le pierdeți, nu le plasați între acești marcatori specifici pluginului.

Adăugați reguli personalizate folosind marcatori sau etichete personalizate

În schimb, puteți crea marcatori sau etichete pentru a adăuga orice reguli personalizate pe care le aveți și a le păstra separate de secțiunile generate de WordPress și de pluginuri.

Această metodă va garanta că orice modificări sau modificări aduse administrării WordPress sau setărilor pluginului nu vor suprascrie această secțiune.

Iată cum o poți face:

Să presupunem că trebuie să redirecționați orice solicitare făcută yourdomain.com către https://www.yourdomain.com , astfel încât vizitatorii tăi să ajungă întotdeauna pe versiunea site-ului tău cu „www” în adresa URL.

Pentru a implementa această regulă personalizată, utilizați etichetele # BEGIN Custom Rules # END Custom Rules din partea de sus a fișierului .htaccess . Apoi, adăugați instrucțiunile sau regulile personalizate în acești marcatori.

Va fi oarecum așa:

# BEGIN Custom Rules

RewriteEngine On

RewriteCond %{HTTP_HOST} ^yourdomain\.com$

RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R=301,L]

# END Custom Rules


Citiți: Fișier WordPress .htaccess: Cum să îl creați și să îl editați?


3. Setați permisiunea de fișier pentru a evita ca WordPress să suprascrie fișierul .htaccess

A treia metodă care vă poate ajuta să împiedicați WordPress să suprascrie fișierul .htaccess este să setați permisiunile fișierului la „numai citire”.

Pentru a implementa acest lucru, trebuie să accesați fișierul .htaccess folosind fie un client FTP, fie managerul de fișiere furnizat de furnizorul dvs. de găzduire WordPress.

Odată ce v-ați conectat la clientul FTP sau la managerul de fișiere, căutați fișierul .htaccess , care se află cel mai probabil în directorul rădăcină al instalării dvs. WordPress.

Apoi, faceți clic dreapta pe fișier și selectați „Permisiuni de fișiere”.

Set file permission to avoid WordPress from overwriting .htaccess file
Setați permisiunea de fișier pentru a evita ca WordPress să suprascrie fișierul .htaccess

Va apărea o fereastră pop-up cu toate atributele fișierului, în care setarea implicită este de obicei 644, dar o puteți modifica la 444 fie introducând valoarea direct în câmpul „Valoare numerică”, fie asigurându-vă că numai „Citiți” casetele sunt bifate.

Set file attributes in the .htaccess file to read-only.
Setați atributele fișierului din fișierul .htaccess la numai citire

Setând permisiunile fișierului .htaccess la 444 (numai citire), fișierul va fi protejat împotriva modificărilor.

Notă: Rețineți întotdeauna că acest lucru vă va împiedica să faceți modificări în fișier. Dacă trebuie să actualizați fișierul, va trebui să modificați temporar permisiunile înapoi la 644.


4. Opriți WordPress să suprascrie fișierul .htacess inserând cod în fișierul wp-config.php

Ultima metodă pe care o puteți implementa este inserând următorul fragment de cod în fișierul wp-config.php.

add_filter('got_rewrite', '__return_false');

Această abordare este utilă dacă doriți să împiedicați WordPress să modifice fișierul .htaccess fără a vă afecta pluginurile.

Notă: Editarea sau gestionarea fișierelor de bază WordPress poate fi riscantă și poate cauza potențiale daune site-ului dvs. dacă ceva nu merge bine. Este recomandabil să solicitați asistență de la un expert sau să contactați dezvoltatorul web.

Acum, pentru a implementa acest lucru,

1. Conectați-vă la cPanel sau FTP folosind datele de conectare.

2. Navigați la directorul rădăcină al site-ului dvs. și găsiți fișierul wp-config.php .

3. Deschideți fișierul wp-config.php pentru editare.

Opening Wp-config.php file
Deschiderea fișierului Wp-config.php

4. Adăugați manual următoarea linie la fișier, așa cum se arată în imagine

add_filter('got_rewrite', '__return_false');

Inserting code in the Wp-config.php file to stop WordPress from overwriting the .htaccess file
Inserarea codului în fișierul Wp-config.php pentru a opri WordPress să suprascrie fișierul .htaccess

5. După adăugarea codului, salvați fișierul.

6. Odată salvat, WordPress nu va mai putea face modificări fișierului, inclusiv modificări ale formatului URL sau alte setări aferente.

Odată ce urmați această metodă, WordPress nu va putea face nicio modificare sau suprascrie fișierul .htaccess.


WPOven Dedicated Hosting

Concluzie

Se spune mereu că este mai bine să prevenim decât să vindeci. În mod similar, puteți lua măsuri preventive, cum ar fi evitarea adăugării sau editarii regulilor între markerii sau etichetele WordPress, precum și între markerii și etichetele pluginului WordPress.

În plus, puteți configura unele reguli și puteți utiliza metoda numai în citire pentru a interzice complet orice modificare a fișierului .htaccess .

Sperăm că metodele de mai sus vă vor ajuta să împiedicați WordPress să suprascrie fișierul .htaccess . Dacă aveți întrebări cu privire la această postare, vă rugăm să ne spuneți în secțiunea de comentarii de mai jos.


Întrebări frecvente

Regulile mele personalizate .htaccess vor fi afectate de procesele de actualizare WordPress?

Nu, regulile dvs. personalizate .htaccess nu vor fi afectate de upgrade-urile WordPress dacă acestea sunt plasate în afara markerilor # BEGIN WordPress și # END WordPress . WordPress modifică doar codul dintre acești markeri.

Există dezavantaje în utilizarea porțiunilor de .htaccess personalizate?

Da, regulile personalizate .htaccess pot introduce complexitate, ceea ce poate duce la conflicte sau erori. Dacă nu configurați corect regulile, aceasta poate afecta și performanța site-ului dvs. sau poate cauza probleme cu serverul. În plus, aceste reguli pot necesita actualizări dacă sunt modificate configurațiile serverului, pluginurile sau WordPress însuși. Există și riscuri de securitate, deoarece regulile incorecte pot crea din neatenție vulnerabilități dacă nu sunt gestionate cu atenție.

Cum mă pot asigura că, atunci când actualizez un plugin, regulile mele personalizate .htaccess nu se pierd?

Pentru a vă păstra în siguranță regulile .htaccess personalizate atunci când actualizați pluginuri, asigurați-vă că plasați regulile în afara marcajelor # BEGIN și # END pe care WordPress și pluginurile îi folosesc. De asemenea, vă puteți crea propriile marcatoare pentru a vă păstra regulile separate. Faceți în mod regulat copii de rezervă ale fișierului .htaccess , astfel încât să îl puteți restaura cu ușurință dacă este necesar. După actualizarea pluginurilor, verificați fișierul .htaccess pentru a vă asigura că regulile dvs. personalizate sunt încă acolo și nu s-au pierdut.