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.
(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.
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.
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.
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):
1. Eliminate i cookie su quel sito specifico
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”.
Passo 2
Scorrete verso il basso e fate clic su “Avanzate”.
Passo 3
Quindi fate clic su “Impostazioni contenuti”.
Passo 4
Cliccate su “Cookie”.
Passo 5
Quindi fate clic su “Mostra tutti i cookie e i dati dei siti”.
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.
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:
- Cancellare la Cache con Cache Enabler
- Cancellare la Cache con W3 Total Cache
- Cancellare la Cache con Super Cache
Se siete clienti di Kinsta, potete cancellare facilmente la cache dalla barra di amministrazione 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.
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”.
Sucuri
Per eliminare la cache in Sucuri, accedete alla loro dashboard, andate su “Performance” e fate clic su “Clear Cache”.
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.
Se stabilite che l’arrore è causato dalla cache del browser, potete semplicemente cancellarla. Di seguito riportiamo le istruzioni per farlo in vari browser:
- Come Forzare il Refresh di una Singola Pagina per Tutti i Browser
- Come Svuotare la Cache del Browser per Google Chrome
- Come Svuotare la Cache del Browser per Mozilla Firefox
- Come Svuotare la Cache del Browser per Safari
- Come Svuotare la Cache del Browser per Internet Explorer
- Come Svuotare la Cache del Browser per Microsoft Edge
- Come Svuotare la Cache del Browser per Opera
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Lascia un commento