Uno dei nostri lettori ci ha recentemente chiesto se fosse possibile impedire a WordPress di sovrascrivere il proprio codice personalizzato nel file .htaccess. Questa è una preoccupazione comune, poiché WordPress e vari plugin spesso aggiungono le proprie impostazioni a questo file di configurazione.
Se hai aggiunto codice personalizzato a .htaccess, è comprensibile preoccuparsi che venga sovrascritto o eliminato. Mantenere questo codice al sicuro impedirà interruzioni alle prestazioni e alla sicurezza del tuo sito.
In questo articolo, ti guideremo attraverso i passaggi per impedire a WordPress di sovrascrivere il file .htaccess. Seguendo queste istruzioni, puoi proteggere il tuo codice personalizzato e assicurarti che il tuo sito web funzioni senza intoppi e senza interferenze.

Perché WordPress sovrascrive il file .htaccess?
Il tuo file .htaccess è un potente file di configurazione che memorizza impostazioni importanti sul tuo sito web WordPress. Contiene regole che indicano al tuo server di hosting come gestire il tuo sito.
WordPress utilizza il file .htaccess per memorizzare le impostazioni dei suoi permalink. Ogni volta che cambi o rigeneri i tuoi permalink, WordPress sovrascriverà automaticamente le vecchie impostazioni in .htaccess con le nuove impostazioni.
Alcuni plugin di WordPress salvano anche le loro impostazioni in .htaccess. Ad esempio, il plugin W3 Total Cache modifica il tuo file .htaccess per configurare gli strumenti di caching e ottimizzazione che fanno parte del plugin.
Infine, puoi apportare le tue modifiche personalizzate a .htaccess per controllare il funzionamento del tuo sito web. Ad esempio, puoi aggiungere regole personalizzate al file che proteggono la tua area amministratore, mantengono il tuo sito al sicuro dagli hacker, impostano reindirizzamenti, bannano indirizzi IP sospetti e altro ancora.
Alcuni utenti temono che se aggiungono le proprie regole personalizzate a .htaccess, queste possano essere eliminate quando WordPress sovrascrive il file con nuove impostazioni. Altri utenti preferiscono configurare manualmente .htaccess e non consentire a WordPress di scriverci affatto.
Detto questo, diamo un'occhiata a come impedire a WordPress di sovrascrivere il tuo file .htaccess. Utilizza semplicemente i collegamenti rapidi qui sotto per passare alla sezione di tuo interesse:
- Come impedire a WordPress di sovrascrivere le tue regole .htaccess
- Come impedire a WordPress di modificare .htaccess
- Guide esperte su .htaccess in WordPress
Come impedire a WordPress di sovrascrivere le tue regole .htaccess
La buona notizia è che se capisci come funziona il file .htaccess, puoi essere sicuro che le tue regole personalizzate non verranno sovrascritte.
Questo perché le aree del file che verranno modificate da WordPress o dai tuoi plugin sono chiaramente contrassegnate. Assicurati semplicemente di non aggiungere codice in quelle aree.
Non modificare il codice all'interno dei marcatori di WordPress
Come abbiamo detto in precedenza, WordPress utilizza .htaccess per memorizzare le impostazioni per una struttura di URL SEO-friendly. Il codice che salva nel file verrà automaticamente sovrascritto e aggiornato ogni volta che modifichi le impostazioni dei tuoi permalink.
Come puoi vedere nello screenshot qui sotto, WordPress salva queste informazioni tra due marcatori, # BEGIN WordPress e # END WordPress.

Nota l'avviso all'interno di questi marcatori:
Le direttive (righe) tra “BEGIN WordPress” e “END WordPress” sono generate dinamicamente e dovrebbero essere modificate solo tramite i filtri di WordPress. Qualsiasi modifica alle direttive tra questi marcatori verrà sovrascritta.
Ciò significa che WordPress non sovrascriverà né modificherà alcun codice che aggiungi al di fuori di questi marcatori. Gli utenti aggiungono tipicamente il loro codice personalizzato all'inizio del file, sopra il marcatore # BEGIN WordPress.
Suggerimento: .htaccess è un file nascosto situato nella cartella principale del tuo sito WordPress. Se hai difficoltà a trovarlo, dai un'occhiata alla nostra guida su perché non riesci a trovare il file .htaccess sul tuo sito WordPress.
Non modificare il codice all'interno dei marcatori dei tuoi plugin
Quando un plugin salva le sue impostazioni in .htaccess, le inserisce anche tra marcatori che assomigliano a # BEGIN Plugin e # END Plugin.
Ad esempio, se installi e configuri il plugin W3 Total Cache per migliorare la velocità e le prestazioni del tuo sito web, aggiungerà regole a .htaccess tra i marcatori # BEGIN W3TC Browser Cache e # END W3TC Browser Cache.

Queste regole verranno sovrascritte ogni volta che modifichi le impostazioni del plugin, quindi devi fare attenzione a non aggiungere le tue regole personalizzate di .htaccess tra questi marcatori.
Creare marcatori per il tuo codice personalizzato
In rari casi, un plugin malfunzionante potrebbe modificare il codice al di fuori dei suoi marcatori # BEGIN e # END. Tuttavia, normalmente non modificherà il codice trovato tra i marcatori utilizzati da WordPress o da altri plugin.
Se sei preoccupato che un plugin malfunzionante possa sovrascrivere il tuo codice, puoi aggiungere i tuoi marcatori al file .htaccess.
Ad esempio, puoi digitare i marcatori # BEGIN MyCustomCode e # END MyCustomCode all'inizio del file .htaccess, e quindi aggiungere le tue regole personalizzate tra questi marcatori.

Se hai anche bisogno di aggiungere codice alla fine di .htaccess, puoi aggiungere un diverso set di marcatori lì. Assicurati solo di dare loro nomi diversi. Ad esempio, potresti usare 'MyCustomCodeTop' e 'MyCustomCodeBottom'.
Come impedire a WordPress di modificare .htaccess
Ora che comprendi come funziona .htaccess, puoi essere sicuro che il tuo codice personalizzato non verrà sovrascritto da WordPress o dai tuoi plugin.
Tuttavia, alcuni sviluppatori e utenti avanzati desiderano impedire a WordPress di apportare modifiche a .htaccess.
Ad esempio, potresti voler creare permalink digitando manualmente le impostazioni in .htaccess. In questo caso, vorrai evitare conflitti impedendo a WordPress di salvare le proprie impostazioni di permalink nel file.
Sconsigliamo questa operazione a meno che tu non sappia cosa stai facendo, poiché può portare a conseguenze inaspettate. Tuttavia, è possibile farlo modificando i permessi del file o utilizzando il codice.
Impedire a WordPress di modificare .htaccess utilizzando i permessi dei file
Un modo per impedire a WordPress di modificare .htaccess è rendere il file di sola lettura. Per fare ciò, è necessario modificare i permessi del file utilizzando un client FTP o il file manager fornito dal tuo provider di hosting WordPress.
Troverai il file .htaccess nella directory principale della tua installazione WordPress. Successivamente, dovresti fare clic destro sul file e selezionare 'Permessi file'.

Questo visualizzerà una finestra di dialogo in cui puoi modificare gli attributi del file.
L'impostazione predefinita sarà 644, ma puoi cambiarla in 444 digitando direttamente nel campo 'Valore numerico' o assicurandoti che solo le caselle 'Lettura' siano selezionate.

Una volta fatto clic sul pulsante 'OK', il file sarà di sola lettura e non potrà essere modificato.
Naturalmente, ciò significherà anche che non potrai scrivere sul file. Quando desideri apportare modifiche, dovrai reimpostare temporaneamente i permessi del file su 644.
Impedire a WordPress di modificare .htaccess utilizzando il codice
Un'altra soluzione è utilizzare uno snippet di codice che informa WordPress di non scrivere nel file .htaccess. Questo è utile se si desidera impedire a WordPress di modificare .htaccess senza bloccare i plugin.
Nota: Modificare i file principali di WordPress può essere pericoloso. Anche un piccolo errore può causare gravi problemi al tuo sito. Ecco perché raccomandiamo questo metodo solo agli utenti esperti.
Aggiungi semplicemente il seguente snippet di codice alla fine del tuo file wp-config.php. Se hai bisogno di aiuto, fai riferimento alla nostra guida su come modificare il file wp-config.php in WordPress:
add_filter('got_rewrite', '__return_false');
Una volta fatto ciò, WordPress non scriverà più nel file .htaccess.
Messaggio di errore visualizzato quando WordPress non riesce a modificare .htaccess
Se provi a modificare le impostazioni dei tuoi permalink quando .htaccess è impostato su sola lettura, verrà visualizzato un messaggio di errore.
Nella parte superiore della pagina Impostazioni » Permalink, vedrai il messaggio 'Dovresti aggiornare ora il tuo file .htaccess'.

Questo ti fa sapere che WordPress non è stato in grado di modificare il file .htaccess.
Normalmente, questo è ciò che intendevi. Tuttavia, se desideri aggiungere le impostazioni dei permalink di WordPress a .htaccess, dovrai farlo manualmente.
In fondo alla pagina Impostazioni » Permalink, vedrai un altro messaggio di errore che indica che il tuo file .htaccess non è scrivibile. Sotto quello, vedrai le regole che devono essere aggiunte a .htaccess.

Se desideri aggiungere tali impostazioni, dovrai modificare temporaneamente i permessi del file .htaccess a 644 in modo che possa essere modificato. Successivamente, dovrai incollare le regole tra i marcatori BEGIN e END di WordPress del file, sostituendo il codice già presente.
Al termine, imposta semplicemente il valore di nuovo a 444 e salva il file. Sarà nuovamente non scrivibile.
Guide esperte su .htaccess in WordPress
Speriamo che questo tutorial ti abbia aiutato a imparare come impedire a WordPress di sovrascrivere il file .htaccess. Potresti anche voler consultare altre guide relative al file .htaccess:
- Glossario: .htaccess
- Come correggere il file .htaccess di WordPress (Guida per principianti)
- Trucchi .htaccess più utili per WordPress
- Perché non riesci a trovare il file .htaccess sul tuo sito WordPress
- Come aggiungere intestazioni di sicurezza HTTP in WordPress (Guida per principianti)
- Come aggiungere intestazioni Expires in WordPress
- Guida per principianti alla risoluzione degli errori di WordPress (passo dopo passo)
Se ti è piaciuto questo articolo, iscriviti al nostro canale YouTube per tutorial video su WordPress. Puoi anche trovarci su Twitter e Facebook.


Jiří Vaněk
Questo è stato uno dei primi articoli su WPBeginner quando ho cercato deliberatamente il motivo per cui il .htaccess di un cliente veniva sovrascritto. Ora lo sappiamo, lo capiamo e scriviamo anche .htaccess correttamente. Molte grazie per aver compreso il motivo.
Supporto WPBeginner
Felice che la nostra guida abbia potuto aiutare!
Amministratore