TrueURL

Strumento gratuito per i redirect

Verifica loop di redirect

Quando il browser segnala che una pagina “ti ha reindirizzato troppe volte”, il sito lo sta facendo girare in tondo. TrueURL segue i reindirizzamenti finché il loop non si chiude e mostra tutti gli URL coinvolti.

Che cos’è un loop di reindirizzamento?

Un loop di reindirizzamento si verifica quando l’URL A reindirizza all’URL B e B, direttamente o attraverso altri salti, reindirizza di nuovo ad A. I browser seguono circa 20 reindirizzamenti e poi si arrendono con un errore: ERR_TOO_MANY_REDIRECTS in Chrome ed Edge (“… ti ha reindirizzato troppe volte”), La pagina non reindirizza in modo corretto in Firefox o Si sono verificati troppi reindirizzamenti in Safari. I motori di ricerca non possono indicizzare una pagina bloccata in un loop.

Come TrueURL rileva i loop

TrueURL registra ogni URL che richiede, insieme al metodo della richiesta e ai cookie che ha in quel momento. Quando un salto riporta a un URL già richiesto nello stesso stato, la catena non potrà mai terminare, e il risultato evidenzia il salto in cui il loop si chiude.

Poiché TrueURL conserva i cookie come un browser, sa distinguere un vero loop da un normale scambio di cookie, in cui un sito imposta un cookie e ti rimanda una sola volta allo stesso URL. Se lo stato cambia a ogni passaggio, la catena prosegue fino al numero massimo di salti impostato nelle Impostazioni avanzate (al massimo 50). Anche una catena che raggiunge il limite è di solito un loop infinito, ad esempio uno che aggiunge un nuovo parametro alla query string a ogni salto.

Cause comuni dei loop di reindirizzamento

  • HTTP e HTTPS dietro un proxy o una CDN: la CDN si collega al tuo server via HTTP (come con la modalità SSL Flexible di Cloudflare), mentre il server reindirizza ogni richiesta HTTP a HTTPS. Il browser richiede di nuovo HTTPS, la CDN richiede di nuovo HTTP e così via. Usa la modalità Full (strict), oppure lascia che sia un solo livello a gestire il reindirizzamento a HTTPS.
  • Regole www in conflitto: una regola aggiunge il www mentre un’altra, spesso nel CMS o nel pannello dell’hosting, lo toglie.
  • Regole sullo slash finale in conflitto: il server aggiunge lo slash e l’applicazione lo rimuove.
  • Impostazioni dell’indirizzo nel CMS: in WordPress, ad esempio, un Indirizzo WordPress (URL) o un Indirizzo sito (URL) che non corrisponde al dominio o al protocollo con cui il sito viene effettivamente servito.
  • Reindirizzamenti per login, consenso e area geografica: una pagina manda i visitatori privi di un certo cookie a una pagina di login, di consenso o di scelta del paese, che li rimanda indietro, ma il cookie non viene mai impostato o mai accettato.

Come risolvere un loop di reindirizzamento

  1. Verifica qui l’URL e annota quali URL si ripetono e quale salto ti rimanda indietro.
  2. Esamina le intestazioni della risposta di quel salto, come Server, Via, CF-Ray o X-Powered-By, per capire quale livello ha inviato il reindirizzamento: la CDN, il server web o l’applicazione.
  3. Correggi o disattiva quella singola regola, poi verifica di nuovo. Modifica un livello alla volta.
  4. Prima di provare nel tuo browser, svuota cache e cookie per quel sito. I 301 in cache e i cookie obsoleti possono tenere in vita un loop anche dopo che è stato risolto.

Guide

Domande frequenti

Che cosa significa ERR_TOO_MANY_REDIRECTS?

È l’errore di Chrome (“ti ha reindirizzato troppe volte”) per una catena di reindirizzamenti che non è terminata dopo 20 redirect, e quasi sempre si tratta di un loop: le regole di reindirizzamento del sito si contraddicono. Verifica l’URL qui sopra per vedere quali URL si ripetono.

Un loop di reindirizzamento può colpire solo alcuni visitatori?

Sì. I loop che dipendono da cookie, lingua, posizione o dispositivo colpiscono solo i visitatori che si trovano in quella situazione. Riproducili con le Impostazioni avanzate: aggiungi il cookie, un’intestazione Accept-Language o uno User-Agent mobile e verifica di nuovo. I loop che dipendono dalla posizione del visitatore non si possono riprodurre, perché la richiesta parte sempre dalla rete di Cloudflare.

Perché cancellando i cookie il loop sparisce nel mio browser?

Perché il loop dipendeva dai cookie: un cookie obsoleto o in conflitto faceva sì che il sito ti rimandasse avanti e indietro. Cancellare i cookie azzera il tuo stato, ma il bug resta per ogni visitatore che riceve lo stesso cookie. Usa il campo Cookie nelle Impostazioni avanzate per riprodurlo qui.

Perché TrueURL trova un loop se la pagina funziona nel mio browser?

Nel tuo browser potresti aver già effettuato l’accesso o avere i cookie del consenso, oppure potrebbe esserci una voce HSTS o un reindirizzamento in cache che salta uno dei passaggi. TrueURL parte senza cookie e senza cronologia, come chi visita il sito per la prima volta o come un crawler. Se trova un loop, probabilmente ci finiscono anche i nuovi visitatori e i crawler, a meno che il sito non tratti in modo diverso le richieste provenienti dai data center.

Che differenza c’è tra un loop e il raggiungimento del numero massimo di salti?

Un loop significa che TrueURL è tornato a un URL già richiesto nello stesso stato, quindi la catena non potrà mai finire. Il limite del numero massimo di salti significa invece che si è fermato dopo il numero di reindirizzamenti configurato senza una ripetizione esatta. Quella catena potrebbe anche terminare prima o poi, ma una catena così lunga è comunque un problema. Puoi alzare il numero massimo di salti fino a 50 per vedere più avanti.

Una CDN può causare un loop di reindirizzamento?

Sì, è una delle cause più comuni. Se la CDN comunica con il tuo server via HTTP mentre il server impone HTTPS, o se CDN e server reindirizzano tra www e senza www in direzioni opposte, si rimbalzano ogni richiesta avanti e indietro. Le intestazioni della risposta di ogni salto mostrano quale livello ha risposto.