Errori di reindirizzamento
Codici di stato di reindirizzamento
I codici di stato che iniziano con 3 non sono di per sé degli errori. Indicano al browser che il contenuto richiesto si trova altrove o che non è cambiato dall’ultima volta che il browser l’ha caricato. Li vedrai nel file access.log del tuo sito e quando tracci un URL con curl -IL. Devi prestare attenzione solo quando indirizzano i visitatori nel posto sbagliato o si ripetono in un loop infinito.
301 Moved Permanently
Un reindirizzamento 301 comunica ai browser e ai motori di ricerca che una pagina è stata spostata definitivamente. Il tuo sito li utilizza per HTTPS, per il tuo dominio principale (con o senza www.) e per aggiungere una barra finale agli URL delle cartelle; puoi inoltre aggiungerne di personalizzati tramite le regole di reindirizzamento.
I browser ricordano i reindirizzamenti 301, quindi se ne modifichi o ne rimuovi uno, svuota la cache del browser o prova in una finestra privata per vedere il nuovo comportamento. Se un URL passa attraverso diversi reindirizzamenti 301 prima di caricarsi, fai in modo che il primo reindirizzamento punti direttamente all’URL finale.
302 Found
Un reindirizzamento 302 è temporaneo, quindi i browser e i motori di ricerca non lo memorizzano. WordPress e i plugin li usano per cose che cambiano da una visita all’altra, come reindirizzare gli utenti disconnessi da /wp-admin/ alla pagina di login, reindirizzare dopo l’invio di un modulo o indirizzare i visitatori verso una versione della pagina in un’altra lingua o per un altro Paese.
Se una pagina è stata spostata definitivamente, usa invece un 301, così i motori di ricerca aggiornano i loro dati e trasferiscono il posizionamento della vecchia pagina a quella nuova.
304 Not Modified
Un 304 non è un reindirizzamento. Significa che il browser del visitatore ha già una copia del file e il tuo sito ha confermato che non è cambiato, quindi il browser riutilizza la sua copia invece di scaricarlo di nuovo. Vedere codici 304 nel tuo access.log è normale e significa che la cache funziona.
Se hai modificato un file ma i visitatori vedono ancora la versione precedente, svuota la cache del tuo sito e quella del CDN.
Too many redirects
Un errore “too many redirects” (troppi reindirizzamenti) significa che una pagina continua a reindirizzare invece di caricarsi. Di solito ci sono due impostazioni che si rimandano a vicenda: una manda i visitatori all’indirizzo A, l’altra li rimanda all’indirizzo B, e il browser rinuncia dopo un certo numero di tentativi. I browser lo segnalano come ERR_TOO_MANY_REDIRECTS o con un messaggio del tipo “sei stato reindirizzato troppe volte”.
Un loop infinito di reindirizzamenti deriva quasi sempre dalla configurazione del tuo sito, non da un problema temporaneo, quindi non si risolverà da solo. Spesso inizia subito dopo una modifica a SSL, ai domini, a un CDN o alle regole di reindirizzamento.
Individua i due indirizzi coinvolti nel loop
Tracciando i reindirizzamenti puoi vedere tra quali due indirizzi rimbalza la richiesta, il che ti indicherà la causa.
- Esegui il comando
curl -IL https://yourdomain.comin un terminale oppure inserisci il tuo URL in uno strumento online per il controllo dei reindirizzamenti. - Controlla il valore
Locationin ogni risposta. Questi sono gli indirizzi a cui viene inviata la richiesta. - Confronta gli indirizzi che si ripetono:
- Differiscono solo
http://ehttps://: vedi loop HTTP e HTTPS. - Differisce solo
www.: vedi i loop www e non-www. - I percorsi sono diversi, ad esempio
/shop/e/store/:vedi Regole di reindirizzamento in conflitto.
- Differiscono solo
Se non riesci a eseguire questi controlli, inizia da ciò che hai modificato più di recente.
Loop HTTP e HTTPS
Questo è il tipo più comune di ciclo di reindirizzamento. Un livello invia i visitatori a https://, mentre un altro rimanda la richiesta a http://.
- Il tuo account Cloudflare impostato su Flexible SSL: se usi il tuo account Cloudflare davanti a Kinsta, controlla la modalità di crittografia SSL/TLS nella tua dashboard di Cloudflare. In modalità Flexible, Cloudflare si connette al tuo sito tramite HTTP e il tuo sito reindirizza quella richiesta a HTTPS, il che si ripete all’infinito. Cambia la modalità su Full (strict); il tuo sito Kinsta ha già un certificato SSL.
- Un altro CDN o proxy: se usi un altro CDN o proxy di terze parti, assicurati che si connetta a Kinsta tramite HTTPS, non HTTP. Se l’opzione “Forza HTTPS” è abilitata in MyKinsta e non hai la certezza di quale livello stia causando il loop, disabilita temporaneamente “Forza HTTPS” per fare una prova.
- Un reindirizzamento da HTTPS a HTTP: controlla le tue regole di reindirizzamento e i plugin per individuare eventuali elementi che indirizzano i visitatori da
https://ahttp://e rimuovili.
Loop www e non-www
Un’impostazione indirizza i visitatori a www.example.com, mentre un’altra li rimanda a example.com. Questo di solito succede dopo una migrazione o un cambio di dominio.
- Decidi quale versione del tuo dominio è quella principale: con o senza
www. - In MyKinsta, assicurati che quella versione sia impostata come dominio principale del tuo sito.
- In WordPress, vai su Impostazioni > Generale e assicurati che sia l’IndirizzoWordPress (URL) che l’Indirizzo del sito (URL) utilizzino entrambi quella versione esatta, compreso
https://. - Se quei campi sono disattivati, gli URL sono impostati nel file
wp-config.phptramiteWP_HOMEeWP_SITEURL, che hanno la precedenza sulle impostazioni della dashboard. Aggiornali lì.
Se non riesci ad accedere alla dashboard di WordPress, controlla e aggiorna gli URL con WP-CLI: i comandi wp option get siteurl e wp option get home mostrano i valori attuali, mentre wp option update li modifica.
Regole di reindirizzamento in conflitto
Due regole di reindirizzamento puntano l’una verso l’altra, spesso perché lo stesso reindirizzamento è impostato in più di un posto. Controlla ogni punto in cui è possibile impostare i reindirizzamenti e mantieni ogni reindirizzamento in uno solo di essi:
- Regole di reindirizzamento in MyKinsta.
- Plugin di reindirizzamento in WordPress.
- Regole di pagina o regole di reindirizzamento in un CDN di terze parti, come il tuo account Cloudflare.
Plugin
I plugin SSL, di reindirizzamento, di sicurezza e di caching possono aggiungere ciascuno i propri reindirizzamenti, che potrebbero entrare in conflitto tra loro o con le impostazioni del tuo server. Se il loop è iniziato dopo che hai installato, aggiornato o modificato le impostazioni di un plugin, disattivalo. Se non riesci ad accedere alla dashboard di WordPress, disattivalo con WP-CLI (wp plugin deactivate plugin-name) o rinominando la sua cartella tramite SFTP.
Se in MyKinsta è abilitata l’opzione “Forza HTTPS”, un plugin che forza anch’esso l’HTTPS non è necessario ed è una causa comune di loop. Usa l’uno o l’altro, non entrambi.
Se il nostro monitoraggio segnala un loop ma il tuo sito si carica
Il monitoraggio dell’uptime di Kinsta controlla il tuo sito proprio come farebbe un nuovo visitatore, senza cookie né sessioni salvate. Se hai ricevuto un avviso di reindirizzamento ma il tuo sito si carica normalmente nel browser, il loop potrebbe interessare solo chi visita il sito per la prima volta:
- Reindirizzamenti basati sui cookie: i reindirizzamenti per lingua o posizione, i controlli sull’età e le pagine di consenso ai cookie possono reindirizzare i visitatori finché non viene impostato un cookie. I visitatori che bloccano i cookie, così come i motori di ricerca e gli strumenti di monitoraggio, possono rimanere bloccati in un loop.
- Il tuo browser: apri il tuo sito in una finestra privata o in incognito per vederlo come lo vedrebbe un nuovo visitatore.
Dopo aver risolto il loop
I browser salvano i reindirizzamenti permanenti (301), quindi l’errore potrebbe continuare a comparire nel tuo browser anche dopo aver risolto la causa.
- Svuota la cache del tuo sito in MyKinsta e qualsiasi cache CDN.
- Svuota la cache e i cookie del tuo browser relativi al sito, oppure prova in una finestra privata o in incognito.
Quando contattare il supporto
Se non riesci a individuare la causa, o se il loop persiste dopo aver controllato queste impostazioni, contatta il supporto fornendo l’URL, l’output di curl -IL o del tuo strumento di verifica dei reindirizzamenti, e tutte le modifiche che hai apportato di recente.