Come impedire a WordPress di sovrascrivere il file .htaccess
Pubblicato: 2023-02-23Recentemente uno dei nostri lettori ha chiesto se fosse possibile impedire a WordPress di sovrascrivere il codice personalizzato nel file .htaccess?
WordPress insieme a diversi plugin aggiungono impostazioni personalizzate al file di configurazione .htaccess. Se hai aggiunto il tuo codice personalizzato a .htaccess, potresti temere che venga sovrascritto o eliminato.
In questo articolo, ti mostreremo come impedire a WordPress di sovrascrivere il file .htaccess.
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 dicono al tuo server di hosting come gestire il tuo sito.
WordPress utilizza il file .htaccess per memorizzare le impostazioni del permalink. Ogni volta che modifichi 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 plug-in W3 Total Cache modificherà il tuo file .htaccess per configurare gli strumenti di memorizzazione nella cache e di ottimizzazione che fanno parte del plug-in.
Infine, puoi apportare le tue modifiche personalizzate a .htacess per controllare il funzionamento del tuo sito web. Ad esempio, puoi aggiungere regole personalizzate al file che proteggono la tua area di amministrazione, mantenere il tuo sito al sicuro dagli hacker, impostare reindirizzamenti, vietare indirizzi IP sospetti e altro ancora.
Alcuni utenti temono che se aggiungono le proprie regole personalizzate a .htaccess, potrebbero essere eliminate quando WordPress sovrascrive il file con nuove impostazioni. Altri utenti preferiscono configurare manualmente .htaccess e non lasciare che WordPress scriva su di esso.
Detto questo, diamo un'occhiata a come impedire a WordPress di sovrascrivere il tuo file .htaccess. Usa semplicemente i collegamenti rapidi qui sotto per saltare alla sezione che ti interessa.
- Come impedire a WordPress di sovrascrivere le tue regole .htaccess
- Come impedire a WordPress di modificare .htaccess
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 a 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 URL SEO-friendly. Il codice che salva nel file verrà automaticamente sovrascritto e aggiornato ogni volta che modifichi le impostazioni del permalink.
Come puoi vedere nello screenshot qui sotto, WordPress salva queste informazioni tra due marcatori, # BEGIN WordPress
e # END WordPress
.
Notare l'avviso all'interno di questi indicatori:
Le direttive (linee) tra "BEGIN WordPress" e "END WordPress" sono generate dinamicamente e dovrebbero essere modificate solo tramite i filtri di WordPress. Eventuali modifiche alle direttive tra questi marcatori verranno sovrascritte.
Ciò significa che WordPress non sovrascriverà o modificherà alcun codice aggiunto al di fuori di questi marcatori. Gli utenti in genere aggiungono il loro codice personalizzato all'inizio del file, sopra il marcatore # BEGIN WordPress
.
Suggerimento: .htaccess è un file nascosto che si trova nella cartella principale del tuo sito WordPress. Se hai difficoltà a trovarlo, dai un'occhiata alla nostra guida sul perché non riesci a trovare il file .htaccess sul tuo sito WordPress.
Non modificare il codice all'interno dei marker dei tuoi plug-in
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 plug-in 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 plug-in, quindi devi fare attenzione a non aggiungere le tue regole .htaccess personalizzate tra questi marcatori.
Creazione di marcatori per il tuo codice personalizzato
In rari casi, un plug-in che si comporta male può 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 altri plugin.
Se sei preoccupato che un plug-in che si comporta male sovrascriva il tuo codice, puoi aggiungere i tuoi marcatori al file .htaccess.
Ad esempio, puoi digitare i marcatori # BEGIN MyCustomCode
e # END MyCustomCode
nella parte superiore del file .htaccess, 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, puoi utilizzare "MyCustomCodeTop" e "MyCustomCodeBottom".
Come impedire a WordPress di modificare .htaccess
Ora che hai capito come funziona .htaccess, tu puoi essere sicuro che il tuo codice personalizzato non verrà sovrascritto da WordPress o dai tuoi plugin.
Tuttavia, alcuni sviluppatori e utenti esperti vogliono impedire a WordPress di apportare modifiche a .htaccess.
Ad esempio, potrebbero voler creare permalink digitando manualmente le impostazioni in .htaccess. In questo caso, vorranno evitare conflitti impedendo a WordPress di salvare le proprie impostazioni di permalink nel file.
Non lo consigliamo a meno che tu non sappia cosa stai facendo, perché può portare a conseguenze impreviste. Tuttavia, può essere fatto modificando le autorizzazioni 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 dei file utilizzando un client FTP o il file manager fornito dal provider di hosting WordPress.
Troverai il file .htaccess nella directory principale della tua installazione di WordPress. Successivamente, dovresti fare clic con il pulsante destro del mouse sul file e selezionare "Autorizzazioni file".
Verrà visualizzato un popup in cui è possibile 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.
Dopo aver fatto clic sul pulsante "OK", il file sarà di sola lettura e non potrà essere modificato.
Naturalmente, questo significherà che non sarai in grado di scrivere anche 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 consenta a WordPress di sapere di non scrivere nel file .htaccess. Questo è utile se vuoi impedire a WordPress di modificare .htaccess senza bloccare i tuoi plugin.
Nota: la modifica di qualsiasi file principale di WordPress può essere pericolosa. Anche un piccolo errore può causare gravi errori sul tuo sito. Ecco perché consigliamo questo metodo solo agli utenti esperti.
Aggiungi semplicemente il seguente frammento 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');
Dopo averlo fatto, WordPress non scriverà più nel file .htaccess.
Messaggio di errore visualizzato quando WordPress non può modificare .htaccess
Se provi a modificare le impostazioni del 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 il tuo file .htaccess ora".
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 del permalink di WordPress a .htaccess, dovrai farlo manualmente.
Nella parte inferiore della pagina Impostazioni ≫ Permalink , vedrai un altro messaggio di errore che dice che il tuo file .htaccess non è scrivibile. Sotto, vedrai le regole che devono essere aggiunte a .htaccess.
Se desideri aggiungere tali impostazioni, dovrai modificare temporaneamente i permessi del file .htaccess riportandoli a 644 in modo che possa essere modificato. Successivamente, dovresti incollare le regole tra i marcatori BEGIN e END di WordPress del file, sostituendo il codice già presente.
Quando hai finito, reimposta semplicemente il valore su 444 e salva il file. Sarà ancora una volta non scrivibile.
Speriamo che questo tutorial ti abbia aiutato a imparare come impedire a WordPress di sovrascrivere il file .htaccess. Potresti anche voler imparare come aggiungere una notifica push in WordPress e dare un'occhiata al nostro elenco di esperti dei migliori plugin e strumenti SEO per WordPress.
Se ti è piaciuto questo articolo, iscriviti al nostro canale YouTube per i tutorial video di WordPress. Puoi trovarci anche su Twitter e Facebook.