Come impedire a WordPress di sovrascrivere il file .htaccess?

Pubblicato: 2024-08-28

È un problema comune riscontrato da molti utenti di WordPress: WordPress sovrascrive o modifica involontariamente il tuo file .htaccess personalizzato, da solo o tramite i suoi plugin.

Ciò generalmente avviene inosservato, senza alcun impatto immediato sui contenuti del tuo sito, finché qualcosa non inizia ad andare storto o non diventa effettiva una modifica indesiderata.

Per impostazione predefinita, WordPress, a seconda della configurazione e delle impostazioni dei permessi, può modificare o sovrascrivere automaticamente il file .htaccess in modo silenzioso. Anche i plugin di WordPress tendono a modificare il file .htaccess per adattarlo alle loro configurazioni.

Sebbene ciò sia generalmente innocuo, può diventare problematico quando plugin o temi di terze parti aggiungono codice che sovrascrive le impostazioni principali del sito Web, portando potenzialmente a rischi per la sicurezza o problemi di prestazioni.

Per aiutarti a prevenire tali situazioni, ti guideremo su come impedire la sovrascrittura del file .htaccess. Quindi, senza ulteriori indugi, tuffiamoci.


Sommario
Come funziona il file .htaccess e perché Wpoven sovrascrive anche il contenuto del file .htaccess?
Come impedire a WordPress di sovrascrivere le regole del file .htacess?
Conclusione
Domande frequenti

Come funziona il file .htaccess e perché Wpoven sovrascrive anche il contenuto del file .htaccess?

Il modo migliore per impedire a WordPress o ai plugin di sovrascrivere il file .htaccess è imparare prima come funziona il file .htaccess. Ti aiuterà a capire la causa principale del problema e a capire cosa non fare.

Quindi, i file .htaccess sono come un libro di regole che contiene una serie di istruzioni su come dovrebbe comportarsi il tuo sito web.

Il suo scopo principale è gestire la modalità di visualizzazione dei contenuti e il funzionamento di determinati plugin. Ad esempio, dal file .htaccess puoi anche impostare la regola di reindirizzamento 301, che rende gli URL SEO-friendly e puliti.

Ma se tu o qualcun altro tentate di aggiornare il sito web, ad esempio modificando la struttura dell’URL, WordPress aggiornerà automaticamente anche il file .htaccess per riflettere tali modifiche.

Allo stesso modo, quando installi i plugin di WordPress che potresti utilizzare per aggiungere funzionalità extra al tuo sito, puoi anche aggiungere le proprie regole/istruzioni al file.

Ma non è questo il problema, la parte difficile è che quando si verificano questi cambiamenti, le istruzioni originali inserite potrebbero essere sovrascritte, sostituite o cancellate.

Ciò potrebbe compromettere il funzionamento o l'aspetto del tuo sito web, anche se non avevi intenzione che ciò accadesse. Quindi, per fermare o prevenire tali scenari devi seguire alcuni suggerimenti/istruzioni menzionati di seguito:


Come impedire a WordPress di sovrascrivere le regole del file .htacess?

Poiché il file .htaccess contiene regole o istruzioni in base alle quali funziona il tuo sito web, può anche essere aggiunto un set personalizzato di regole per impedirne la sovrascrittura negli scenari sopra indicati.

Ecco come puoi farlo.

  • Evita di aggiungere o modificare regole tra i marcatori o i tag di WordPress
  • Evita di aggiungere o modificare regole tra i marcatori o i tag del plugin
  • Imposta i permessi del file per evitare che WordPress sovrascriva il file .htaccess
  • Impedisci a WordPress di sovrascrivere il file .htacess inserendo il codice nel file wp-config.php

1. Evita di aggiungere o modificare regole tra i marcatori o i tag di WordPress

Come abbiamo già accennato, WordPress utilizza un file .htaccess per gestire alcune impostazioni di WordPress come la creazione di URL strutturati e puliti SEO-friendly.

Quando modifichi le strutture degli URL, chiamate anche “permalink”, WordPress aggiorna automaticamente anche il codice in questo file.

Queste impostazioni del permalink vengono salvate tra due tag o marcatori WordPress: # BEGIN WordPress e # END WordPress .

Avoid adding or editing rules between the WordPress markers or Tags
Evita di aggiungere o modificare regole tra i marcatori o i tag di WordPress

Questa particolare area tra questi due tag WordPress è completamente riservata a WordPress e inoltre ti avvisa che qualsiasi modifica apportata tra questi marcatori verrà sovrascritta la prossima volta che WordPress aggiornerà il file.

Cosa fare : Ma la parte migliore è che WordPress non toccherà alcun codice aggiunto al di fuori di questi marcatori o tag. Significa che se desideri aggiungere del codice personalizzato, prova a inserirlo o ad aggiungerlo nella parte superiore del file, prima del marcatore # BEGIN WordPress .

Non farlo: evita però di inserire o aggiungere il tuo codice personalizzato tra i marcatori di WordPress perché verrà eliminato o sostituito ogni volta che WordPress aggiorna le sue impostazioni. Per mantenere le tue impostazioni personalizzate al sicuro, posizionale sempre fuori da questi contrassegni.


WPOven

2. Evitare di aggiungere o modificare regole tra i marcatori o i tag del plugin

Proprio come i marcatori di WordPress, devi anche evitare di modificare o aggiungere regole tra i marcatori o i tag del plugin.

Questo perché i plugin possono anche aggiungere le proprie regole al file .htaccess in modo simile a WordPress e quando lo fanno, riservano l'area con marcatori o tag speciali che includono il nome del plugin.

Ad esempio, se un plugin chiamato "WProcket" aggiunge regole, le contrassegnerà con # BEGIN WP Rocke t Browser Cache e # END WP Rocket Browser Cache.

Avoid adding or editing rules between the Plugin markers or Tags
Evita di aggiungere o modificare regole tra i marcatori o i tag del plugin

Ciò significa che qualsiasi istruzione o regola che il plugin aggiunge tra questi due marcatori è completamente controllata solo dal plugin. Nel caso in cui modifichi le impostazioni del plug-in, aggiornerà queste regole e potenzialmente sovrascriverà qualsiasi cosa tra questi marcatori o tag.

Pertanto, se hai regole personalizzate che non vuoi perdere, non inserirle tra questi indicatori specifici del plug-in.

Aggiungi regole personalizzate utilizzando marcatori o tag personalizzati

Puoi invece creare marcatori o tag per aggiungere eventuali regole personalizzate di cui disponi e mantenerle separate dalle sezioni generate da WordPress e dai plugin.

Questo metodo garantirà che qualsiasi modifica o cambiamento apportato all'amministrazione di WordPress o alle impostazioni del plugin non sovrascriva questa sezione.

Ecco come puoi farlo:

Supponiamo che tu debba reindirizzare qualsiasi richiesta effettuata yourdomain.com a https://www.yourdomain.com , in modo che i tuoi visitatori arrivino sempre alla versione del tuo sito con "www" nell'URL.

Per implementare questa regola personalizzata, utilizza i tag # BEGIN Custom Rules # END Custom Rules nella parte superiore del file .htaccess . Quindi, aggiungi le tue istruzioni o regole personalizzate all'interno di questi indicatori.

Sarà un po' così:

# BEGIN Custom Rules

RewriteEngine On

RewriteCond %{HTTP_HOST} ^yourdomain\.com$

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

# END Custom Rules


Leggi: File .htaccess di WordPress: come crearlo e modificarlo?


3. Imposta i permessi del file per evitare che WordPress sovrascriva il file .htaccess

Il terzo metodo che può aiutarti a impedire a WordPress di sovrascrivere il file .htaccess è impostare le autorizzazioni del file su “sola lettura”.

Per implementarlo, devi accedere al file .htaccess utilizzando un client FTP o il file manager fornito dal tuo provider di hosting WordPress.

Una volta effettuato l'accesso al client FTP o al file manager, cerca il file .htaccess , che molto probabilmente si trova nella directory principale della tua installazione WordPress.

Quindi, fai clic con il pulsante destro del mouse sul file e seleziona "Autorizzazioni file".

Set file permission to avoid WordPress from overwriting .htaccess file
Imposta i permessi del file per evitare che WordPress sovrascriva il file .htaccess

Apparirà una finestra pop-up con tutti gli attributi del file, in cui l'impostazione predefinita è in genere 644, ma puoi modificarla in 444 inserendo il valore direttamente nel campo "Valore numerico" o assicurando che solo il valore "Leggi" le caselle sono selezionate.

Set file attributes in the .htaccess file to read-only.
Imposta gli attributi del file nel file .htaccess su sola lettura

Impostando i permessi del file .htaccess su 444 (sola lettura), il file sarà protetto dalla modifica.

Nota: tieni sempre presente che ciò non ti consentirà anche di apportare modifiche al file. Se devi aggiornare il file, dovrai riportare temporaneamente le autorizzazioni a 644.


4. Impedisci a WordPress di sovrascrivere il file .htacess inserendo il codice nel file wp-config.php

L'ultimo metodo che puoi implementare è inserire il seguente frammento di codice nel tuo file wp-config.php.

add_filter('got_rewrite', '__return_false');

Questo approccio è utile se vuoi impedire a WordPress di modificare il file .htaccess senza influenzare i tuoi plugin.

Nota: la modifica o la gestione dei file principali di WordPress può essere rischiosa e potrebbe causare potenziali danni al tuo sito web se qualcosa va storto. È consigliabile chiedere assistenza a un esperto o contattare il proprio sviluppatore web.

Ora, per implementare questo,

1. Accedi al tuo cPanel o FTP utilizzando le tue credenziali.

2. Passa alla directory principale del tuo sito Web e trova il file wp-config.php .

3. Apri il file wp-config.php per modificarlo.

Opening Wp-config.php file
Apertura del file Wp-config.php

4. Aggiungi manualmente la seguente riga al file come mostrato nell'immagine

add_filter('got_rewrite', '__return_false');

Inserting code in the Wp-config.php file to stop WordPress from overwriting the .htaccess file
Inserimento del codice nel file Wp-config.php per impedire a WordPress di sovrascrivere il file .htaccess

5. Dopo aver aggiunto il codice, salva il file.

6. Una volta salvato, WordPress non sarà più in grado di apportare alcuna modifica al file, comprese le modifiche al formato dell'URL o ad altre impostazioni correlate.

Una volta seguito questo metodo, WordPress non sarà in grado di apportare alcuna modifica o sovrascrivere il file .htaccess.


WPOven Dedicated Hosting

Conclusione

Si dice sempre che prevenire è meglio che curare. Allo stesso modo, puoi adottare misure preventive come evitare di aggiungere o modificare regole tra i marcatori o i tag di WordPress, nonché tra i marcatori e i tag dei plugin di WordPress.

Inoltre, puoi impostare alcune regole e utilizzare il metodo di sola lettura per impedire completamente qualsiasi modifica al file .htaccess .

Ci auguriamo che i metodi sopra indicati ti aiutino a impedire a WordPress di sovrascrivere il file .htaccess . Se avete domande su questo post, fatecelo sapere nella sezione commenti qui sotto.


Domande frequenti

Le mie regole .htaccess personalizzate saranno influenzate dai processi di aggiornamento di WordPress?

No, le tue regole .htaccess personalizzate non saranno influenzate dagli aggiornamenti di WordPress se vengono posizionati al di fuori dei marcatori # BEGIN WordPress e # END WordPress . WordPress modifica solo il codice tra questi marcatori.

Ci sono degli svantaggi nell'usare porzioni di .htaccess personalizzate?

Sì, le regole .htaccess personalizzate possono introdurre complessità, portando potenzialmente a conflitti o errori. Se non configuri correttamente le regole, ciò potrebbe anche influire sulle prestazioni del tuo sito o causare problemi al server. Inoltre, queste regole potrebbero richiedere aggiornamenti se le configurazioni del server, i plugin o lo stesso WordPress vengono modificati. Esistono anche rischi per la sicurezza, poiché regole errate possono inavvertitamente creare vulnerabilità se non gestite con attenzione.

Come posso assicurarmi che quando aggiorno un plugin le mie regole .htaccess personalizzate non vadano perse?

Per mantenere al sicuro le tue regole .htaccess personalizzate durante l'aggiornamento dei plugin, assicurati di posizionare le regole al di fuori dei marcatori # BEGIN e # END utilizzati da WordPress e dai plugin. Puoi anche creare i tuoi marcatori per mantenere separate le tue regole. Esegui regolarmente il backup del tuo file .htaccess in modo da poterlo ripristinare facilmente se necessario. Dopo aver aggiornato i plugin, controlla il file .htaccess per assicurarti che le tue regole personalizzate siano ancora presenti e non siano andate perse.