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 WordPress, 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.

Cos’è l’errore ERR_TOO_MANY_REDIRECTS?

L’origine dell’errore ERR_TOO_MANY_REDIRECTS è proprio quella che sembra, ossia qualcosa sta facendo entrare 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.

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

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

Ecco alcuni raccomandazioni e verifiche da fare per correggere l’errore (ordinati in base alle cause più comuni):

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

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 alla vostra dashboard, potete sperare nel vostro host. Infatti, molti host di WordPress dispongono di propri strumenti di controllo per svuotare la cache sul vostro sito WordPress.

Se siete clienti di Kinsta, potete cancellare manualmente la cache di WordPress dal cruscotto di MyKinsta. Basta fare clic sul vostro sito, poi su strumenti e infine sul pulsante “Cancella cache”. Quindi controllate il sito per vedere se il ciclo di reindirizzamento persiste.

Eliminare la cache di WordPress

Eliminare la cache di WordPress

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 in Cloudflare

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:

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. Lo strumento online gratuito Redirect Checker tool può aiutarvi ad approfondire l’analisi di quanto si sta verificando. 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

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

2. 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.

3. 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.

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
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

4. Controllate i Reindirizzamenti Eccessivi HTTPS

Forse avete semplicemente troppi reindirizzamenti HTTPS. Potete facilmente controllare il vostro sito per vedere quanti reindirizzamenti sta utilizzando con lo strumento Patrick Sexton’s Redirect mapper. Di seguito è riportato un esempio di reindirizzamenti che non sono stati impostati correttamente e che sono facilmente individuabili con il programma di mappatura dei redirect. In questo esempio si vede che esistono reindirizzamenti HTTPS duplicati sia nella versione www che non www.

Redirects

Redirects

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

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

If you’re changing domains on a multisite, make sure to also check the wp_blogs table. We’ve seen people do a search and replace wrong and cause an infinite redirect loop. This is because the network site doesn’t match the subsites.

wp_#_options: Each subsite will have sets of tables that correspond to the blog_id in the wp_blogs table. Go to the wp_#_options table, where # corresponds to the blog_id, and update the “SITEURL” and “HOME” settings in that table.

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

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

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

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

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.

Il sito web è finito in un loop di redirezione infinito? 🛣 Date un’occhiata a questi suggerimenti su come farlo tornare a funzionare velocemente. Click to Tweet

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.


Se ti è piaciuto questo articolo, allora apprezzerai la piattaforma di hosting WordPress di Kinsta. Metti il turbo al tuo sito web e ricevi supporto 24x7 dal nostro team di veterani di WordPress. La nostra infrastruttura potenziata da Google Cloud è centrata su scaling automatico, performance e sicurezza. Permettici di mostrarti la differenza di Kinsta! Scopri i nostri piani