AI generativa in Google Search Console: come leggere il report Assistenza siti Laravel: errori, aggiornamenti e manutenzione Joomla su LiteSpeed: CSS e JavaScript in 403 con query string Migrazione da Joomla 3 a Joomla 6 con T3 e Purity III: caso reale Sito Joomla non aggiornato: quali controlli fare prima di intervenire Sito hackerato: cosa fare subito e quali errori evitare Action Scheduler di WooCommerce bloccato: diagnosticare code e operazioni fallite Admin-ajax.php consuma troppe risorse: trovare plugin e richieste responsabili Audit delle estensioni prima di migrare da Joomla 3 a Joomla 5 o 6 Cache Redis in WordPress mostra dati vecchi: diagnosi dell'object cache Come gestire SEO e hreflang in un sito multilingua Hugo Login loop in WordPress Multisite: cookie, dominio e HTTPS da controllare Plugin WordPress lento: il problema è nel database o nelle query? WP-Cron non funziona in WordPress: attività e pubblicazioni bloccate Come aggiornare WordPress da Excel senza creare duplicati AI generativa in Google Search Console: come leggere il report Assistenza siti Laravel: errori, aggiornamenti e manutenzione Joomla su LiteSpeed: CSS e JavaScript in 403 con query string Migrazione da Joomla 3 a Joomla 6 con T3 e Purity III: caso reale Sito Joomla non aggiornato: quali controlli fare prima di intervenire Sito hackerato: cosa fare subito e quali errori evitare Action Scheduler di WooCommerce bloccato: diagnosticare code e operazioni fallite Admin-ajax.php consuma troppe risorse: trovare plugin e richieste responsabili Audit delle estensioni prima di migrare da Joomla 3 a Joomla 5 o 6 Cache Redis in WordPress mostra dati vecchi: diagnosi dell'object cache Come gestire SEO e hreflang in un sito multilingua Hugo Login loop in WordPress Multisite: cookie, dominio e HTTPS da controllare Plugin WordPress lento: il problema è nel database o nelle query? WP-Cron non funziona in WordPress: attività e pubblicazioni bloccate Come aggiornare WordPress da Excel senza creare duplicati

Permessi e .htaccess WordPress: diagnosi di errori e blocchi

Autore Graziano De Maio - Gdmtech
Ti auguro buona lettura e mi raccomando, se dopo aver letto questo articolo hai bisogno di aiuto non esitare a contattarmi.
Autore: Graziano De Maio | Titolare di Gdmtech
Indice dei contenuti

Errori 403, pagine 500, immagini non caricabili e permalink che restituiscono 404 possono coinvolgere permessi dei file o regole .htaccess in WordPress, ma non sono lo stesso problema. I permessi stabiliscono chi può accedere ai file; .htaccess, nei server che lo supportano e lo abilitano, modifica il comportamento del server web.

La diagnosi parte dal percorso e dall’operazione che falliscono. Rendere tutto scrivibile o sostituire il file con regole generiche può rimuovere protezioni e redirect senza risolvere la causa.

Quale livello sta rifiutando la richiesta?

Registra URL, orario, codice HTTP e azione: leggere una pagina, caricare un’immagine, aggiornare un plugin o salvare una configurazione. Cerca il messaggio corrispondente nei log del server e, quando pertinente, di PHP.

SintomoPrima verifica
Caricamento media non riuscitoPercorso di destinazione, spazio e accesso in scrittura
Aggiornamento impossibileProprietà e permessi della cartella indicata
403 su una risorsaLog di accesso, regole di blocco e accessibilità del file
500 dopo una modifica a .htaccessDirettiva segnalata nel log del server
Homepage valida, permalink in 404Riscrittura URL e configurazione del sito

Un 403 può arrivare anche da un firewall applicativo o da una protezione dell’hosting. Se il blocco avviene prima che la richiesta raggiunga WordPress, cambiare un ruolo utente nel CMS non risolve quel livello.

Permessi e proprietà dei file non sono intercambiabili

In un ambiente Unix, i permessi descrivono accessi per proprietario, gruppo e altri utenti. La proprietà identifica a chi appartiene il file. Un valore apparentemente corretto può non consentire la scrittura al processo PHP se il file appartiene a un altro account.

La guida WordPress ai permessi sottolinea la dipendenza dalla configurazione hosting. Valori come 755 per cartelle e 644 per file sono comuni, ma non costituiscono una correzione universale. Verifica con il provider utente del processo, gruppo e requisiti delle cartelle che devono essere scrivibili.

Come esempio ipotetico, file trasferiti durante una migrazione con un diverso account possono essere leggibili dal sito ma non aggiornabili. La soluzione può riguardare la proprietà, non l’apertura indiscriminata dei permessi. Evita 777 come tentativo rapido e non applicare modifiche ricorsive senza conoscere l’effetto sui diversi percorsi.

Controllare il percorso effettivo che WordPress deve scrivere

Per un errore di upload, identifica la cartella coinvolta e verifica che esista e sia accessibile anche attraverso le directory superiori. Controlla quota disco e quota di file prima di attribuire il guasto ai permessi.

Confronta una cartella funzionante con quella difettosa, tenendo conto della loro funzione. Non assumere che file di configurazione, contenuti caricati e cache debbano avere la stessa accessibilità.

Se il provider gestisce proprietari e restrizioni, chiedi un controllo mirato indicando percorso e messaggio. Non forzare il metodo di accesso ai file di WordPress per aggirare una configurazione che non hai ancora verificato.

Verificare se il server usa davvero .htaccess

.htaccess appartiene al funzionamento di Apache e di alcuni ambienti compatibili. La documentazione Apache spiega che le direttive ammesse dipendono dalla configurazione del server, inclusa AllowOverride. Un file presente sul disco non prova che le sue regole siano utilizzate.

Nginx non interpreta .htaccess: le regole vanno gestite nella sua configurazione o tramite gli strumenti del provider. In infrastrutture con proxy e più livelli, chiedi quale componente esegue le riscritture e le protezioni.

Controlla anche dove si trova WordPress: radice, sottocartella o rete Multisite possono richiedere regole diverse. Copiare un blocco trovato online senza verificare questa struttura può introdurre nuovi errori di routing.

Riparare una regola senza perdere redirect e protezioni

Conserva una copia del file attuale e confrontala con l’ultima versione funzionante. Inventaria regole WordPress, redirect personalizzati, protezioni, cache ed eventuali impostazioni aggiunte dal provider.

Se il log identifica una direttiva non ammessa o una sintassi errata, intervieni su quel blocco in staging con configurazione server comparabile. Rimuovere l’intero .htaccess dal sito pubblico può disattivare anche restrizioni di accesso: non è una prova neutra.

Su Apache, salvare le impostazioni dei permalink può rigenerare le regole WordPress quando la configurazione e la scrittura lo consentono. Non ricostruisce però tutti i redirect personalizzati e non corregge una direttiva server esterna a quel blocco. Mantieni la struttura URL esistente, salvo una modifica intenzionale e pianificata.

Cosa fare se il file cambia di nuovo da solo

Confronta orario delle modifiche con attività di plugin, pannello hosting e procedure di deploy. Un plugin di sicurezza o cache può gestire blocchi propri; una modifica inattesa richiede invece verifica dell’autore e del processo.

Se le evidenze suggeriscono accessi non autorizzati, passa alla gestione di malware WordPress. Impostare il file in sola lettura può ostacolare una riscrittura, ma non identifica chi la esegue né rimuove un’eventuale compromissione.

Verificare lettura, scrittura e navigazione dopo l’intervento

Ripeti l’azione fallita e controlla homepage, pagine interne, media e accesso amministrativo. Se hai toccato le regole, verifica anche redirect, HTTPS e restrizioni che dovevano restare attive. Se hai corretto i permessi, prova l’operazione di scrittura pertinente.

Conserva il confronto delle configurazioni e verifica i nuovi log. Se non è chiaro quale livello blocchi il sito, posso analizzare permessi e configurazione WordPress con un intervento limitato ai percorsi e alle regole effettivamente coinvolti.

Autore Graziano De Maio - Gdmtech
Ti auguro buona lettura e mi raccomando, se dopo aver letto questo articolo hai bisogno di aiuto non esitare a contattarmi.
Autore: Graziano De Maio | Titolare di Gdmtech
Graziano De Maio, Web designer, SEO specialist
Graziano De Maio
Web Developer, SEO Specialist
Gdmtech Web Agency
Via Stefanardo da Vimercate 28 - (Milano)
Via Spinedi 55 - Postalesio (Sondrio)
Info e contatti