Qui da Kinsta ci troviamo a dover risolvere molti errori e, tra questi, ERR_TOO_MANY_REDIRECTS (noto anche come ciclo di reindirizzamento) è uno di quelli in cui ci imbattiamo regolarmente.

In genere questo errore si verifica dopo una recente modifica ad un sito web, per una errata configurazione dei reindirizzamenti sul server o a causa di impostazioni errate nei servizi di terze parti. Non allarmatevi, questo errore è abbastanza semplice da risolvere.

Leggete i consigli che seguono e risolverete in fretta l’errore ripristinando il funzionamento del vostro sito.

Che cos’è l’errore ERR_TOO_MANY_REDIRECTS?

Il nome dell’errore ERR_TOO_MANY_REDIRECTS dà già qualche suggerimento: qualcosa sta causando troppi reindirizzamenti, mandando il vostro sito web in un ciclo di reindirizzamento infinito.

Essenzialmente il sito è bloccato (l’URL 1 punta all’URL 2 e l’URL 2 punta all’URL 1, oppure il dominio vi ha reindirizzato troppe volte) e, a differenza di altri, questi errori raramente si risolvono da soli e probabilmente dovrete far qualcosa per eliminarli.

Potreste anche esservi imbattuti nell’errore “request exceeded the limit of 10 internal redirects due to probable configuration error“, cioè “la richiesta ha superato il limite di 10 reindirizzamenti interni a causa di un probabile errore di configurazione”.

Codice errore ERR_TOO_MANY_REDIRECTS
Tipo di errore Errore del browser/errore di codice
Variazioni dell’errore Questa pagina non funziona. domain.com ti ha reindirizzato troppe volte.
La pagina non viene reindirizzata correttamente
Questa pagina al momento non funziona
Safari non riesce ad aprire la pagina
Cause dell’errore Impostazioni/plugin di WordPress non configurati correttamente
Problemi con la cache/cookie del browser.
Problemi con servizi di terze parti
Impostazioni HTTPS errate
Impostazioni del server errate

ERR_TOO_MANY_REDIRECTS: Come si presenta?

Ci sono un paio di varianti di questo errore a seconda del browser che utilizzate.

Google Chrome

In Google Chrome questo errore verrà visualizzato come ERR_TOO_MANY_REDIRECTS (come mostrato di seguito) o La pagina web ha generato un loop di reindirizzamento.

Questa pagina non funziona. domain.com ti ha reindirizzato troppe volte.

ERR_TOO_MANY_REDIRECTS in Google Chrome
ERR_TOO_MANY_REDIRECTS in Google Chrome

(Verificate come risolvere l’errore ERR_CACHE_MISS di Chrome).

Mozilla Firefox

Mozilla Firefox mostrerà La pagina non reindirizza in modo corretto (come mostrato di seguito).

Si è verificato un errore durante la connessione a domain.com. Questo problema a volte viene dalla disabilitazione o rifiuto dei cookie.

ERR_TOO_MANY_REDIRECTS in Firefox
ERR_TOO_MANY_REDIRECTS in Mozilla Firefox

Microsoft Edge

In Microsoft Edge, verrà mostrato il messaggio Questa pagina al momento non funziona (come mostrato di seguito).

Domain.com ha creato troppe redirezioni.

ERR_TOO_MANY_REDIRECTS in Microsoft Edge
ERR_TOO_MANY_REDIRECTS in Microsoft Edge

Safari

In Safari, il messaggio di errore è Safari non può aprire la pagina (come mostrato di seguito).

Si sono verificate troppe redirezioni al momento di aprire “domain.com.” Questo potrebbe accadere se si apre una pagina che viene reindirizzata per aprire un’altra pagina, la quale a sua volta viene poi reindirizzata per aprire la pagina originale.

ERR_TOO_MANY_REDIRECTS error in Safari
ERR_TOO_MANY_REDIRECTS error in Safari

Cosa causa l’errore ERR_TOO_MANY_REDIRECTS?

Questo errore si verifica quando il browser non riesce a stabilire una connessione tra la pagina iniziale e la pagina di destinazione in un reindirizzamento. Le cause principali possono essere:

  • Impostazioni di WordPress non configurate correttamente.
  • Plugin di WordPress mal configurato.
  • Impostazioni del server non configurate correttamente.
  • Impostazioni HTTPS errate.
  • Problemi con la cache/cookies del browser.
  • Problemi con servizi di terze parti (per es. CDN).
  • Migrazione impropria del sito web o del dominio.

Come risolvere l’errore ERR_TOO_MANY_REDIRECTS?

Ecco alcuni consigli e cose da controllare per risolvere l’errore (ordinati in base ai motivi più comuni che vediamo):

In effetti Google e Mozilla raccomandano, proprio sotto l’errore, di “provare a cancellare i cookie”. I cookie a volte possono contenere dati errati in cui potrebbe nascondersi la causa dell’errore ERR_TOO_MANY_REDIRECTS. Questa è una consiglio che potete seguire anche se riscontri l’errore su un sito non vostro.

Dato che i cookie mantengono il vostro stato di “autenticato” su siti e in diverse impostazioni, consigliamo semplicemente di eliminare i cookie sul sito che presenta questo problema. In questo modo non inciderete su nessuna delle vostre altre sessioni o sui siti web visitati di frequente.

Seguite questi passaggi per eliminare un cookie su un sito web specifico in Google Chrome.

Passo 1

In Google Chrome fate clic sui tre piccoli punti nell’angolo in alto a destra. Quindi fate clic su “Impostazioni”.

Impostazioni Chrome
Impostazioni Chrome

Passo 2

Scorrete verso il basso e fate clic su “Avanzate”.

Impostazioni avanzate Chrome
Impostazioni avanzate Chrome

Passo 3

Quindi fate clic su “Impostazioni contenuti”.

Impostazioni Contenuti in Chrome
Impostazioni Contenuti in Chrome

Passo 4

Cliccate su “Cookie”.

Cookies in Chrome
Cookies in Chrome

Passo 5

Quindi fate clic su “Mostra tutti i cookie e i dati dei siti”.

Mostra tutti i cookie e i dati dei siti in Chrome
“Mostra tutti i cookie e i dati dei siti” in Chrome

Passo 6

Cercate il sito (dominio) in cui si verifica l’errore ERR_TOO_MANY_REDIRECTS. Potrete quindi eliminare i cookie attualmente memorizzati sul computer per quel dominio. Infine provate a visitare nuovamente il sito.

Eliminare i cookie in Chrome
Eliminare i cookie in Chrome

2. Cancellate la Cache del Server, del Proxy e del Browser

Per i fatto che i loop di reindirizzamento sono risposte che possono essere memorizzate nella cache, è sempre consigliabile svuotare la cache nel vostro sito WordPress, sul server, sui servizi proxy di terze parti e persino sul browser, se necessario.

Cancellare la Cache del Sito WordPress

A seconda del tipo di ciclo di reindirizzamento, potreste comunque essere in grado di accedere alla dashboard di WordPress. In questo caso, potete facilmente cancellare la cache all’interno delle impostazioni del vostro plugin di caching. Di seguito riportiamo alcuni collegamenti rapidi alle istruzioni per cancellare la cache di WordPress con plugin molto utilizzati:

Se siete clienti di Kinsta, potete cancellare facilmente la cache dalla barra di amministrazione di WordPress.

Svuotare la cache di Kinsta dalla dashboard di WordPress
Svuotare la cache di Kinsta dalla dashboard di WordPress

Cancellare la Cache del Server

Se non riuscite ad accedere all’amministrazione di WordPress, molti host WordPress hanno il loro pannello di controllo per cancellare la cache del vostro sito WordPress.

Se siete clienti di Kinsta, potete cancellare manualmente la cache di WordPress dal cruscotto di MyKinsta. Ecco i passaggi:

Nel cruscotto, fate clic su Siti WordPress nella barra di navigazione laterale sinistra.

Fate clic sul nome del vostro sito nell’elenco dei siti e poi sulla scheda Strumenti.

Fate clic sul pulsante Cancella cache per cancellare tutta la cache.

Cancellazione della cache nella scheda Strumenti di MyKinsta.
Cancellazione della cache nella scheda Strumenti di MyKinsta.

Cancellare la Cache del Proxy

Se state utilizzando un servizio di reverse proxy di terze parti, come Cloudflare o Sucuri, può essere utile anche svuotare la cache da questo lato.

Cloudflare

Per eliminare la cache di Cloudflare, accedete alla loro dashboard, fate clic su “Caching” e quindi su “Purge Everything”.

Purge cache

Sucuri

Per eliminare la cache in Sucuri, accedete alla loro dashboard, andate su “Performance” e fate clic su “Clear Cache”.

Eliminare la cache in Sucuri
Eliminare la cache in Sucuri

Cancellare la Cache del Browser

Se volete controllare se il problema possa essere causato dalla cache del browser, senza svuotare la cache, potete sempre aprire il browser in modalità di navigazione in incognito. Oppure potete prova un altro browser per verificare se c’è ancora l’errore ERR_TOO_MANY_REDIRECTS.

Aprire Chrome in incognito
Aprire Chrome in incognito

Se stabilite che l’arrore è causato dalla cache del browser, potete semplicemente cancellarla. Di seguito riportiamo le istruzioni per farlo in vari browser:

3. Determinate la Natura del Ciclo di Reindirizzamento

Se la cancellazione della cache non ha funzionato, vi consigliamo di verificare se sia possibile determinare la natura del ciclo di reindirizzamento. Il nostro strumento gratuito di controllo dei reindirizzamenti online può aiutare a fornire un’ulteriore analisi di ciò che potrebbe accadere. Questa analisi potrebbe anche essere eseguita tramite cURL.

Ad esempio, il sito qui di segito ha un ciclo di reindirizzamento 301 su se stesso, che causa una grande catena di reindirizzamenti errati. Potete seguire tutti i reindirizzamenti e determinare se il sito ritorna ciclicamente su se stesso, o se invece si tratta di un ciclo da HTTP a HTTPS, della cui risoluzione discuteremo più avanti.

Troppi redirect
Troppi redirect

Anche l’estensione di Chrome Redirect Path può essere molto utile, in quanto fornisce dati approfonditi su tutti i reindirizzamenti che si verificano sul vostro sito (URL o pagina specifici).

Estensione Redirect Path
Estensione Redirect Path

4. Controllate le Vostre Impostazioni HTTPS

Un’altra cosa da controllare sono le vostre impostazioni HTTPS. Abbiamo visto molte volte l’errore ERR_TOO_MANY_REDIRECTS verificarsi subito dopo una migrazione di WordPress su HTTPS in cui la configurazione non è stata completata o è stata effettuata in modo errato.

1. Non Forzate HTTPS Senza un Certificato SSL

Questo è di gran lunga il motivo più frequente e regolare. Se forzate il caricamento del vostro sito WordPress su HTTPS senza prima installare un certificato SSL, il sito precipiterà immediatamente in un ciclo di reindirizzamento. Per risolvere il problema, è sufficiente installare un certificato SSL sul vostro sito WordPress.

Consigliamo inoltre di eseguire un controllo SSL. I certificati SSL/TLS richiedono l’installazione non solo del certificato principale ma anche di quelli che sono noti come certificati intermedi (catena). Questi devono essere impostati correttamente.

Raccomandiamo di utilizzare lo strumento di controllo SSL gratuito di Qualys SSL Labs. È molto affidabile e lo utilizziamo per tutti i clienti di Kinsta durante la verifica dei certificati. Basta accedere a SSL check tool, inserire il dominio nel campo Hostname e fare clic su “Submit”. È anche possibile selezionare l’opzione per non rendere pubblici i risultati, se si preferisce. Potrebbe essere necessario un minuto o due per eseguire la scansione della configurazione SSL/TLS del vostro sito sul server web.

Test SSL
Test SSL

Non Utilizzate un Plugin SSL, Aggiornare i Collegamenti Hard-coded

Esistono alcuni plugin SSL gratuiti per WordPress, come il plugin Really Simple SSL, che vi sarà di aiuto per reindirizzare automaticamente su HTTPS. Tuttavia, non consigliamo di utilizzare questo metodo come soluzione permanente perché i plugin di terze parti possono sempre introdurre un altro livello di problemi e incompatibilità. Può essere una buona soluzione temporanea, ma dovreste davvero aggiornare i vostri link HTTP hard-coded.

Abbiamo un ottimo tutorial con 4 semplici metodi per fare un cerca e sostituisci in WordPress. Se siete clienti di Kinsta, potete anche contattare il nostro team di supporto per eseguire l’operazione al vostro posto.

Controllate i Reindirizzamenti da HTTP a HTTPS sul Server

Potrebbe benissimo essere che le regole di reindirizzamento HTTPS sul server siano state configurate in modo errato.

Reindirizzare da HTTP a HTTPS in Nginx

Se il vostro server web ha in esecuzione Nginx, potete facilmente reindirizzare tutto il vostro traffico HTTP su HTTPS aggiungendo il seguente codice al file di configurazione di Nginx. Questo è il metodo consigliato per reindirizzare WordPress se in esecuzione su Nginx.

server { listen 80; server_name domain.com www.domain.com; return 301 https://domain.com$request_uri; }

Utilizziamo Nginx per tutti qui da Kinsta. Ma la buona notizia è che non dovete preoccuparvi di eseguire personalmente questa operazione. Se dovete aggiungere un reindirizzamento, aprite semplicemente un ticket di supporto rapido e fateci sapere quale dominio dovete reindirizzare. Lo aggiungiamo alla configurazione di Nginx per voi.

Consultate la nostra video-guida ai reindirizzamenti

Reindirizzare da HTTP a HTTPS in Apache

Se il vostro server web ha in esecuzione Apache, potete facilmente reindirizzare tutto il vostro traffico da HTTP a HTTPS aggiungendo il seguente codice al vostro file .htaccess. Questo è il metodo raccomandato per reindirizzare WordPress se in esecuzione su Apache.

RewriteEngine On
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Controllate i Reindirizzamenti Eccessivi HTTPS

Forse avete semplicemente troppi reindirizzamenti HTTPS. È possibile controllare facilmente il numero di reindirizzamenti utilizzati dal sito con uno strumento come Redirect Checker. Ecco un esempio di reindirizzamenti non impostati correttamente, facilmente individuabili con uno strumento online. Si può notare che ci sono reindirizzamenti HTTPS duplicati sia nella versione www che in quella non-www.

Redirects
Redirects

5. Controllate i Servizi di Terze Parti

L’errore ERR_TOO_MANY_REDIRECTS è spesso causato anche da servizi di reverse proxy come Cloudflare. Questo di solito accade quando la loro opzione Flexible SSL è attivata e voi avete già un certificato SSL installato sul vostro host WordPress. Perché? Perché, quando è selezionato Flexible, tutte le richieste al server di hosting vengono inviate tramite HTTP. Molto probabilmente il server host ha già in funzione un reindirizzamento da HTTP a HTTPS e pertanto si verifica un ciclo di reindirizzamento.

Per risolvere questo problema è necessario modificare le impostazioni Crypto di Cloudflare da Flexible a Full o a Full (strict). Se siete clienti di Kinsta, seguite anche i nostri passaggi per installare un certificato SSL quando si usa Cloudflare.

Impostare il livello di crittografia di Cloudflare a full
Impostare il livello di crittografia di Cloudflare a full

Potete utilizzare la loro regola Always Use HTTPS per reindirizzare tutti gli utenti su HTTPS senza creare un loop. Un’altra cosa a cui prestare attenzione con Cloudflare sono le regole di reindirizzamento degli URL di inoltro. Fate attenzione a non creare un reindirizzamento in cui il dominio come destinazione punta verso se stesso. Ciò può causare un errore di reindirizzamento infinito e gli URL interessati non saranno in grado di risolverlo.

Se state utilizzando StackPath, potete utilizzare l’opzione chiamata “Origin Pull Protocol” che deve essere impostata solo a HTTPS.

Usare Solo i DNS Cloudflare

Se volete usare solo i DNS di Cloudflare, e non il loro servizio proxy/WAF, allora dovreste assicurarvi che i vostri record DNS siano impostati su “DNS Only.” Le icone a forma di nuvola appariranno in grigio invece che color arancio. Poteteconfigurare questa opzione nella scheda “DNS” nel pannello di controllo Cloudflare.

Cloudflare DNS only
Cloudflare DNS

6. Controllate le Impostazioni del Vostro Sito WordPress

Un’altra cosa da controllare sono le impostazioni del vostro sito WordPress. Ci sono due diversi campi che dovreste verificare che siano impostati correttamente e che non puntino a un dominio sbagliato o che siano corrispondenti. Un altro errore comune è quello di non utilizzare il prefisso corretto per abbinare le altre pagine del vostro sito, www o non www. A volte si migrano gli host o si cambiano i domini e questi possono essere modificati senza che voi ve ne accorgiate.

  • Indirizzo WordPress (URL): l’indirizzo per raggiungere il vostro blog.
  • Indirizzo del sito (URL): l’indirizzo dei file core di WordPress.

Entrambi dovrebbero corrispondere, a meno che voi non stiate assegnando a WordPress una specifica directory.

Indirizzo WordPress
Indirizzo WordPress

Molto probabilmente, però, non siete in grado di accedere alla vostra dashboard di WordPress. Quindi, ciò che potete fare è sovrascrivere le impostazioni precedenti inserendo i valori nel vostro file wp-config.php.

Il file wp-config.php si trova in genere nella root del vostro sito WordPress e vi si può accedere via FTP, SSH o WP-CLI. Per eseguire l’hard-code di WP_HOME e WP_SITEURL, è sufficiente inserire il seguente codice nella parte superiore del file, modificando i valori in base al dominio corretto.

define('WP_HOME','https://yourdomain.com');
define('WP_SITEURL','https://yourdomain.com');

Di seguito è riportato un esempio di come potrebbe essere il file wp-config.php.

Cambiare l’URL di WordPress nel file wp-config.php
Cambiare l’URL di WordPress nel file wp-config.php

Oppure, se preferite, ecco altri due modi per cambiare gli URL di WordPress senza accedere al pannello di amministrazione:

Una volta impostato manualmente, potete navigare nel vostro sito per verificare se questo corregge o meno il ciclo di reindirizzamento.

Multisite

Se state cambiando dominio su un multisito, non dimenticate di controllare anche la tabella wp_blogs. Abbiamo visto persone fare un ricerca e sostituzione sbagliato e causare un ciclo di reindirizzamento infinito. Questo accade perché il sito del network non corrisponde ai sottositi.

wp_#_options: Ogni sottosito avrà una serie di tabelle che corrispondono al blog_id nella tabella wp_blogs. Andate alla tabella wp_#_options, dove # corrisponde al blog_id, e lì aggiornate le impostazioni “SITEURL” e “HOME”.

7. Disattivate Temporaneamente i Plugin di WordPress

Disattivare temporaneamente tutti i plugin di WordPress può essere un modo rapido per individuare i problemi. Prendiamo ad esempio plugin come Redirection o Yoast SEO premium, che vi consentono di implementare reindirizzamenti. A volte le impostazioni o gli aggiornamenti di questi plugin possono andare in conflitto con i reindirizzamenti che potrebbero già essere impostati sul server, causando un ciclo di reindirizzamento.

Ricordate che non perderete alcun dato se disabilitate un plugin. Probabilmente non potete accedere al pannello di amministrazione di WordPress, quindi avrete bisogno di accedere via SFTP al vostro server e rinominare la cartella plugins assegnandole un nome come plugins_old. Al termine, controllate di nuovo il vostro sito.

Rinominare la cartella dei plugin via SFTP
Rinominare la cartella dei plugin via SFTP

Se funziona, dovrete testare ogni plugin uno per uno. Rinominate di nuovo la cartella dei plugin in “plugins” e quindi rinominate la cartella di ogni plugin al suo interno, una alla volta, finché non trovate il colpevole. Si potrebbe anche provare a replicare questo metodo prima su un sito di staging.

Rinominare la cartella dei plugin
Rinominare la cartella dei plugin

8. Controllate i Reindirizzamenti sul Vostro Server

A parte i reindirizzamenti da HTTP a HTTPS sul server, può essere utile assicurarsi che non ci siano ulteriori impostazioni di redirect errate. Ad esempio, un redirect 301 verso se stesso potrebbe mandar giù il vostro sito. Di solito, questi redirect si trovano nei file di configurazione del vostro server.

Il File .htaccess di Apache

Kinsta utilizza solo Nginx, ma se voi utilizzate un host WordPress che esegue Apache, potrebbe benissimo essere che il tuo file .htaccess contenga una regola errata. Seguite i passaggi qui sotto per creare un nuovo file .htaccess da zero.

Innanzitutto, accedete al vostro sito tramite FTP o SSH e rinominate il file .htaccess in .htaccess_old. Questo vi assicura di avere un backup.

Rinominare il file .htaccess
Rinominare il file .htaccess

Normalmente per ricreare questo file vi basta salvare nuovamente i vostri permalink in WordPress. Tuttavia, se vi trovate nel bel mezzo di un errore ERR_TOO_MANY_REDIRECTS, probabilmente non potete accedere al vostro pannello di amministrazione di WordPress, quindi questa non è un’opzione percorribile. Quindi dovrete creare un nuovo file .htaccess e inserire i seguenti contenuti. Quando avrete fatto, caricatelo sul server. Quanto segue fa uso delle impostazioni predefinite.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Nel Codex di WordPress troverete altri esempi, come un file .htaccess predefinito per un multisite.

Abbiamo usato le nostre conoscenze sulla gestione efficace dei siti web in scala e le abbiamo trasformate in un ebook e in un videocorso. Fate clic per scaricare la Guida alla gestione di oltre 60 siti WordPress.

Nginx Config

Se l’host utilizza Nginx, il file di configurazione può essere un po’ più complesso in quanto può variare leggermente a seconda del provider di hosting. Consigliamo di contattare il proprio host e chiedere loro di controllare nel file di configurazione se c’è qualcosa che possa causare un ciclo di reindirizzamento o un numero eccessivo di reindirizzamenti.

Se siete clienti di Kinsta, per prima cosa dovete verificare che non sia stato impostato un reindirizzamento errato nel nostro redirect tool. Di seguito è riportato un semplice esempio di reindirizzamento da https://domain.com/ verso se stesso, che causerebbe un loop di reindirizzamento.

Redirect 301 errato
Redirect 301 errato

Questo accade anche quando l’URL della location è inserito sia in “Reindirizza Da” (“Redirect From”) che in “Reindirizza Su” (“Redirect To”).

Ad esempio, i seguenti valori potrebbero causare un loop di reindirizzamento:

Redirect From: ^/blog/about Redirect To: https://domain.com/blog/about-me

Perché? Perché una volta che il processo ha raggiunto ^/blog/about, la parte finale -me non avrebbe rilevanza e causerebbe un loop infinito. Dovete specificare dove finisce la stringa e qual è il punto di partenza. Ecco cosa dovreste fare per risolvere il problema:

Redirect From: ^/blog/about$ Redirect To: https://domain.com/blog/about-me

Il carattere $ dirà a Nginx di fermarsi e far corrispondere la richiesta solo se la stringa si ferma esattamente in quel punto, ma non trova corrispondenza se c’è un seguito.

E ovviamente, potete sempre aprire un ticket di supporto e noi faremo tutte le verifiche necessarie.

Reverse Proxy Configurati in Modo Errato

Un’altra ragione comune dell’errore ERR_TOO_MANY_REDIRECTS è quando si utilizza un reverse proxy. I reverse proxy possono essere piuttosto complicati ed è facile far finire il vostro sito WordPress in un loop di reindirizzamento, se non configurato correttamente. Anche in questo caso, se siete clienti Kinsta, il nostro team di supporto può aiutarvi.

Riepilogo

I loop di reindirizzamento possono a volte essere difficili da risolvere. Ma noi speriamo che alcuni dei passaggi sopra riportati vi possano essere di aiuto a risolvere l’errore ERR_TOO_MANY_REDIRECTS. Se ci siamo persi qualcosa, fatecelo sapere di seguito nei commenti.

Brian Jackson

Brian ha una grande passione per WordPress, lo usa da più di dieci anni e sviluppa anche un paio di plugin premium. Brian ama i blog, i film e le escursioni. Entra in contatto con Brian su Twitter.