Troppi reindirizzamenti: cosa significa questo errore e come risolverlo
Pubblicato: 2022-09-27"Troppi reindirizzamenti", noto anche come ciclo di reindirizzamento, è un errore che il browser restituirà se la pagina Web richiesta non viene caricata a causa di un numero infinito di reindirizzamenti che deve seguire per recuperare qualsiasi contenuto dal server. I loop di reindirizzamento possono spesso essere causati da reindirizzamenti in conflitto sul lato server o da una configurazione errata della CDN.
In questa guida completa per correggere l'errore "Troppi reindirizzamenti", imparerai dove è possibile configurare i reindirizzamenti, quali sono i motivi più comuni alla base dei loop di reindirizzamento e come affrontarli passo dopo passo.
Cosa sono i reindirizzamenti e come funzionano?
I reindirizzamenti del sito Web possono essere definiti come i passaggi che devono essere eseguiti durante la consegna del contenuto per trovare la posizione della pagina Web richiesta. Mentre, per te, potrebbe sembrare che la modifica ottenuta con una regola di reindirizzamento rifletta solo il modo in cui l'indirizzo del sito Web viene visualizzato nella barra degli indirizzi, il tuo browser esegue una serie di operazioni dietro le quinte per determinare dove porta ciascun reindirizzamento prima che possa caricare qualsiasi contenuto dalla posizione finale definita dal percorso di reindirizzamento.
Forzare HTTPS, la versione www di un sito Web o caricare un altro nome di dominio: i reindirizzamenti sono ampiamente utilizzati nell'hosting di siti Web, consentendoti di personalizzare la consegna dei contenuti. Esistono diversi modi per impostare i reindirizzamenti del dominio e, purché siano configurati correttamente, i browser non avranno alcun problema seguendo le regole che hai creato.
Reindirizzamenti temporanei e permanenti
Esistono due tipi principali di reindirizzamenti che possono essere configurati: temporanei e permanenti. A seconda del tipo di reindirizzamento riscontrato, il server Web restituirà il codice di stato HTTP 302 o 301.
Un codice di risposta HTTP 302 mostra che un indirizzo Web specifico viene temporaneamente reindirizzato a un'altra posizione. Tuttavia, a volte puoi vedere che viene seguito un reindirizzamento temporaneo quando hai rimosso una regola di reindirizzamento permanente dal tuo sito Web, ma non hai svuotato la sua cache, impedendo che le modifiche fossero visibili.
Questo può accadere se stai utilizzando una soluzione di memorizzazione nella cache di qualsiasi tipo, incluso uno dei plugin di memorizzazione nella cache di WordPress. Il tuo browser memorizzerà anche una versione memorizzata nella cache di qualsiasi sito web che visiti, che includerà i vecchi reindirizzamenti.
I reindirizzamenti permanenti restituiscono il codice di stato HTTP 301 e indicano che il tuo sito Web o una determinata pagina su di esso è stato spostato in modo permanente, il che, nel caso in cui si tratti di un reindirizzamento a HTTPS o alla versione www del sito Web, non significa necessariamente che la sua posizione su il file system è cambiato.
Quali sono i reindirizzamenti più comuni?
I reindirizzamenti dal protocollo Web HTTP a HTTPS e dalla versione non www alla versione www del sito Web sono le due regole più comuni configurate. I reindirizzamenti a HTTPS assicurano che tutto il traffico Web sia crittografato utilizzando un certificato SSL, mentre i reindirizzamenti a www vengono spesso utilizzati per integrare una rete di distribuzione di contenuti con il tuo sito Web utilizzando un record CNAME.
Da HTTP a HTTPS
Un reindirizzamento da HTTP a HTTPS, spesso definito come HTTPS forzato, può essere configurato per assicurarsi che nessun contenuto venga consegnato a un visitatore del sito Web tramite una connessione HTTP non sicura. Se sul tuo sito web è installato un certificato SSL/TLS valido, in genere non è necessario forzare HTTPS manualmente, ma l'aggiunta di tale reindirizzamento può essere uno dei modi per gestire il contenuto misto.
Contenuto misto
Il contenuto misto sul sito Web può essere definito come una situazione in cui il file HTML di base viene caricato tramite HTTPS, ma le altre risorse a cui si fa riferimento, comprese le immagini, i file Javascript o CSS, vengono consegnate al visitatore tramite HTTP. Anche se hai installato un certificato SSL valido, i browser visualizzeranno comunque un avviso di sicurezza se viene identificato contenuto misto su una pagina web.
L'impostazione di un reindirizzamento per risolvere il problema con i contenuti misti non è generalmente la soluzione migliore. Invece, dovresti ottenere tutti gli URL (Uniform Resource Locators) nel database del tuo sito Web aggiornati per includere il protocollo HTTPS anziché HTTP. Ciò può essere fatto manualmente utilizzando la funzione di sostituzione della ricerca offerta da WP CLI o un plug-in di WordPress. Per altri sistemi di gestione dei contenuti, dovrai modificare gli indirizzi utilizzando uno strumento di amministrazione del database come phpMyAdmin o eseguendo query MySQL/MariaDB dalla riga di comando.
3 posizioni principali in cui è possibile configurare i reindirizzamenti
I reindirizzamenti possono essere generalmente configurati in una delle tre posizioni principali:
- Configurazione del server web . I file di configurazione globale utilizzati da un server Web contengono impostazioni che di solito vengono applicate a tutti i siti Web ospitati, quindi non è consigliabile aggiungere reindirizzamenti a uno di essi. L'utilizzo di file di configurazione locali creati individualmente per ciascun sito Web è lo standard per impostare i reindirizzamenti sul lato server.
- Configurazione del sistema di gestione dei contenuti . Il tuo sistema di gestione dei contenuti memorizza l'indirizzo del tuo sito Web nel database come una costante, che può essere utilizzata per forzare HTTPS o caricare la versione www di esso.
- Configurazione della rete di distribuzione dei contenuti . La tua CDN forzerà i propri reindirizzamenti che definiranno come esattamente il contenuto viene recuperato dal server di origine e consegnato ai visitatori del sito web.
Reindirizzamenti nei file di configurazione del server Web
Puoi impostare le regole di reindirizzamento localmente in uno dei file di configurazione che il tuo server web leggerà. Quando Apache viene utilizzato come server Web, le regole di reindirizzamento vengono generalmente impostate nel file .htaccess locale del sito Web. Se viene utilizzato NGINX, i reindirizzamenti vengono configurati all'interno del blocco del server NGINX, che rappresenta la configurazione globale del tuo sito web.
Di seguito puoi vedere due reindirizzamenti che possono essere aggiunti a .htaccess: uno che forza HTTPS e l'altro che invia tutte le richieste web alla versione www del sito web. È necessario seguire regole di sintassi rigorose, altrimenti rischi di bloccare il tuo sito Web se Apache rileva errori di sintassi in uno dei file di configurazione locali.
Se utilizzi plugin di reindirizzamento per WordPress, è molto probabile che scrivano i loro reindirizzamenti anche nel tuo file .htaccess locale.
Reindirizzamenti nella configurazione di WordPress
WordPress e altri sistemi di gestione dei contenuti inseriscono l'indirizzo del sito Web nel database e l'impostazione viene caricata ogni volta che viene richiesto un contenuto. L'indirizzo rappresenta un URL che consiste in un nome di dominio e un protocollo Web, HTTP o HTTPS. Modificando gli URL nel database, puoi reindirizzare il tuo sito Web a www o forzare HTTPS se è installato un certificato SSL/TLS.
WordPress utilizza la costante WP_HOME per identificare l'impostazione dell'indirizzo di WordPress e WP_SITEURL come indirizzo del sito, che sono archiviati nella tabella wp_options come siteurl e home. L'impostazione dell'indirizzo di WordPress si riferisce alla posizione dell'installazione di WordPress, mentre l'indirizzo del sito rappresenta l'URL che devi digitare nella barra degli indirizzi del browser per aprire il tuo sito web.
Reindirizzamenti forzati dalla CDN
La configurazione della tua rete di distribuzione dei contenuti definisce come recuperare le pagine Web richieste dal server di origine e consegnarle ai visitatori del tuo sito Web, tramite HTTP o HTTPS. Le procedure esatte sono determinate dalla modalità di crittografia scelta. Esistono tre tipi principali di crittografia offerti dalle moderne reti di distribuzione dei contenuti:
- Crittografia completa o end-to-end . La crittografia end-to-end garantisce che HTTPS venga utilizzato in tutte le fasi della consegna dei contenuti. Significa che tutte le richieste Web dal browser alla CDN e dalla CDN al server di origine vengono sempre inviate tramite HTTPS. La crittografia end-to-end richiede due certificati SSL, uno installato sul server di origine e l'altro implementato dalla CDN.
- Crittografia flessibile o parziale . La crittografia parziale forza tutte le connessioni dal browser alla CDN a passare su HTTPS, mentre la CDN si connetterà al server di origine tramite HTTP. Il tuo sito web, tuttavia, verrà comunque visualizzato come sicuro in tutti i browser.
- Nessuna crittografia . Con la crittografia disabilitata, la consegna dei contenuti avverrà su HTTP e tutti i browser mostreranno un avviso di sicurezza durante il caricamento del tuo sito web.
Se la CDN sta tentando di avviare una connessione su HTTPS, ma il tuo server web reindirizza le richieste HTTPS a HTTP, viene creato un ciclo di reindirizzamento, che provoca la visualizzazione di troppi reindirizzamenti di errore sul tuo sito web.
Cosa significa l'errore "Troppi reindirizzamenti"?
"Troppi reindirizzamenti", spesso indicato come un ciclo di reindirizzamento, è un messaggio di errore che indica un conflitto che si verifica durante la consegna del contenuto causato da due reindirizzamenti concorrenti. Quando viene identificato un ciclo di reindirizzamento, i browser moderni restituiranno una delle seguenti varianti dell'errore:
- La pagina non viene reindirizzata correttamente . Puoi vedere questo messaggio di errore in Firefox.
- La pagina non funziona. ERR_TOO_MANY_REDIRECTS . Google Chrome mostrerà questo errore una volta bloccato in un ciclo di reindirizzamento.
- Safari non può aprire la pagina perché si sono verificati troppi reindirizzamenti . In questo modo, Safari ti farà sapere quali conflitti di reindirizzamento devono essere risolti prima che il sito Web possa essere caricato.
Per correggere l'errore di troppi reindirizzamenti, dovrai rivedere i reindirizzamenti configurati in .htaccess e forzati dal sistema di gestione dei contenuti e verificare quale modalità di crittografia viene utilizzata dalla rete di distribuzione dei contenuti se ne hai una utilizzata.
3 errori di configurazione più comuni che causano un ciclo di reindirizzamento sul tuo sito Web e come risolverli
Passare attraverso tutti i reindirizzamenti per identificare un conflitto non è un compito facile, soprattutto se alcuni vengono aggiunti alla configurazione globale del server Web, il che li rende applicati a livello di server. Tuttavia, ci sono alcune configurazioni errate molto frequenti che portano inevitabilmente a reindirizzare i loop.
I tre motivi più comuni alla base della visualizzazione di "Troppi reindirizzamenti" sul tuo sito Web sono:
- Manca un certificato SSL/TLS valido . Un ciclo di reindirizzamento può verificarsi se il tuo certificato SSL è scaduto o se ci sono altri problemi con esso, ma il tuo sito Web tenta comunque di forzare HTTPS.
- Le impostazioni dell'indirizzo del sito Web CMS non sono corrette . Se il protocollo specificato nelle impostazioni dell'indirizzo del sito Web utilizzato da WordPress o un altro sistema di gestione dei contenuti è in conflitto con altri reindirizzamenti configurati, causerà l'errore di troppi reindirizzamenti.
- È stata scelta la modalità di crittografia CDN errata . È particolarmente comune vedere loop di reindirizzamento quando si passa alla crittografia completa nella configurazione CDN. Se i requisiti per l'utilizzo della crittografia end-to-end non sono soddisfatti dal server di origine, possono verificarsi problemi.
Manca un certificato SSL/TLS valido
Un certificato SSL/TLS valido firmato da una CA installato sul sito Web garantisce che tutto il traffico Web sia crittografato quando viene inviato dal server al browser. Inoltre, HTTPS è probabilmente forzato a livello di server, che funziona perfettamente fino alla scadenza del certificato SSL e non viene rinnovato automaticamente. Può accadere per i seguenti motivi:
- I rinnovi automatici dei certificati SSL/TLS non sono abilitati . Se SSL non è stato rinnovato automaticamente, dovrai ordinare un nuovo certificato e installarlo.
- Convalida del dominio SSL non riuscita . Let's encrypt o Sectigo, uno dei provider SSL più utilizzati che offre certificati gratuiti, implementa diverse sfide per convalidare il controllo dei nomi di dominio per i quali deve essere emesso un nuovo certificato. Se la convalida del dominio non riesce, non verrà installato un nuovo certificato finché non risolvi il problema che blocca la richiesta di convalida.
- La radice o uno dei certificati intermedi è scaduto . Quando succede, dovrai reinstallare il certificato una volta che il provider SSL risolve il problema dalla sua parte.
Come rivolgersi
Verifica se il tuo sito Web ha un certificato valido installato utilizzando un controllo SSL. Se è scaduto o se il controllo SSL mostra altri problemi, reinstallare il certificato. Se Let's Encrypt o Sectigo non riescono a emettere un certificato gratuito, dovrai verificare cosa potrebbe bloccare la richiesta di convalida.
Uno dei motivi per cui la convalida del dominio SSL non riesce è l'integrazione di una rete di distribuzione dei contenuti, soprattutto se l'ultima volta che Let's Encrypt o Sectigo ha emesso un certificato, non lo avevi ancora configurato. Se devi installare un nuovo certificato SSL gratuito, metti in pausa la CDN, in modo che il tuo sito Web punti direttamente al server, restituendo il suo indirizzo IP principale anziché l'indirizzo IP che appartiene alla rete di distribuzione dei contenuti. In questo modo, puoi rinnovare il certificato sul server di origine per continuare a utilizzare la crittografia end-to-end.
Le impostazioni dell'indirizzo del sito Web CMS non sono corrette
WordPress e tutti gli altri sistemi di gestione dei contenuti possono forzare i reindirizzamenti a HTTPS o www memorizzando l'indirizzo del tuo sito Web nel database e caricandolo ogni volta che viene richiesto un contenuto. Se le impostazioni dell'indirizzo del sito sono configurate in modo errato, utilizzando il protocollo o il nome di dominio sbagliato, causeranno problemi, inclusa la visualizzazione di troppi errori di reindirizzamento.
Come rivolgersi
Se hai installato un certificato SSL, soprattutto se la crittografia end-to-end è assicurata dalla configurazione CDN, usa HTTPS sia nelle impostazioni dell'indirizzo WordPress che dell'indirizzo del sito. Se il tuo sito web viene reindirizzato alla versione www, sia i concorrenti WP_SITEURL che WP_HOME devono rifletterlo.
Apri il menu Impostazioni generali della dashboard di WordPress e correggi i valori assegnati all'indirizzo WordPress e all'indirizzo del sito, se necessario. Fare clic su Salva modifiche per fare in modo che WordPress modifichi le impostazioni nel database.
È stata scelta la modalità di crittografia CDN errata
Non possono esserci conflitti tra i reindirizzamenti configurati sul server di origine e la modalità di crittografia utilizzata dalla CDN, altrimenti vedrai l'errore "Troppi reindirizzamenti" cercando di caricare il tuo sito Web in qualsiasi browser. Assicurati di scegliere la modalità di crittografia corretta che meglio si adatta alle esigenze del tuo sito web.
Poiché una rete di distribuzione dei contenuti crittografa sempre il traffico tra i propri server e il browser, a meno che non si disabilita completamente la crittografia, è possibile scegliere di non avere SSL installato sul server di origine. Scegli la crittografia parziale e assicurati di non forzare HTTPS a livello di server per evitare problemi nell'accettazione delle richieste dalla CDN su HTTP.
Se viene scelta la crittografia end-to-end, è necessario installare un certificato SSL valido sul server di origine, in modo che la CDN possa connettersi tramite HTTPS. A meno che tu non possa installare un nuovo certificato manualmente, ogni volta che è necessario rinnovare l'SSL, sospendi temporaneamente la tua CDN per evitare problemi con la convalida del dominio.
Come rivolgersi
Rivedi la tua configurazione attuale e decidi quale modalità di crittografia deve essere scelta. Passa a un altro tipo di crittografia per correggere l'errore "Troppi reindirizzamenti" sul tuo sito Web causato da un reindirizzamento in conflitto sul server di origine o dall'assenza di SSL su di esso richiesta per supportare la crittografia end-to-end.
Come risolvere i "troppi reindirizzamenti" in 3 passaggi
Nei passaggi seguenti, imparerai come identificare i reindirizzamenti in conflitto e correggere rapidamente il loop di reindirizzamento sul tuo sito web.
Passaggio 1. Controlla il percorso di reindirizzamento del tuo sito web
Molte fonti consigliano di svuotare la cache del browser come primo passaggio per la risoluzione dei problemi relativi ai loop di reindirizzamento. Tuttavia, come con qualsiasi altro errore, funzionerà solo se il problema è stato risolto sul server, ma il browser memorizza comunque una versione non funzionante del tuo sito Web nella sua cache. In genere, dopo aver apportato modifiche al tuo sito Web, potresti voler svuotare la sua cache per vederle riflesse.
Il primo passo per correggere "Troppi reindirizzamenti" è seguire il percorso di reindirizzamento del tuo sito Web per vedere dove si blocca esattamente il browser. Il modo migliore per farlo è utilizzare uno dei controlli di reindirizzamento.
Tutti o la maggior parte dei controlli di reindirizzamento utilizzano cURL, un ottimo strumento da riga di comando per il trasferimento di dati utilizzando vari protocolli di rete. Possiamo usarlo per ottenere le informazioni sull'intestazione HTTP, che ti mostreranno cosa succede esattamente una volta che tenti di caricare il tuo sito web.
Salva il seguente semplice script Bash in un file chiamato redirects.sh una volta connesso al server tramite SSH. Rendilo eseguibile eseguendo chmod +x redirects.sh.
Esegui lo script passandolo al nome di dominio del tuo sito web. Ad esempio, ./redirects.sh wordpress.com.
Passaggio 2. Identifica i reindirizzamenti in conflitto
Esamina l'output che hai eseguendo lo script sopra. Ti dirà che tipo di reindirizzamenti causa la visualizzazione di "Troppi reindirizzamenti" poiché il browser rinuncia a seguire le regole in conflitto. Nell'output di seguito, possiamo vedere che esiste un reindirizzamento infinito da HTTP e HTTPS.
Prendere nota dei codici di stato di ritorno di ogni reindirizzamento. I reindirizzamenti permanenti spesso provengono dal file .htaccess del sito Web, mentre i reindirizzamenti temporanei vengono generalmente generati all'interno del codice di un sito Web, quindi sono controllati da WordPress o dall'altro sistema di gestione dei contenuti che utilizzi.
Passaggio 3. Indirizzare il ciclo di reindirizzamento
A seconda delle regole di reindirizzamento in conflitto che hai identificato, saprai dove eseguirle in loop. Come abbiamo discusso, ci sono tre cose principali da controllare: il tuo file .htaccess locale, le impostazioni dell'indirizzo del sito Web memorizzate nel database del tuo sito Web dal CMS e la modalità di crittografia scelta nella configurazione della CDN.
Se il ciclo di reindirizzamento si verifica mentre il tuo sito web sta tentando di reindirizzare tra HTTP e HTTPS, controlla se hai installato un certificato SSL/TLS valido e quale modalità di crittografia è stata scelta nella tua configurazione CDN se hai integrazioni con il tuo sito web. Controlla l'indirizzo del sito e l'indirizzo WordPress specificati per il tuo sito Web e archiviati nel database di WordPress.
Segui le istruzioni fornite nella sezione precedente della guida per risolvere errori di configurazione comuni e correggere "Troppi reindirizzamenti" sul tuo sito web.
Conclusione
Il messaggio di errore "Troppi reindirizzamenti", noto anche come ciclo di reindirizzamento, viene visualizzato sul tuo sito Web quando il browser non è riuscito a caricare alcun contenuto a causa di un numero elevato di reindirizzamenti successivi. Per correggere il ciclo di reindirizzamento, è necessario risolvere il conflitto esistente nel percorso di reindirizzamento.
La gestione di un'attività online è carica di sfide e non è sempre possibile dedicare ore alla configurazione dell'infrastruttura del server e alla correzione degli errori. Né è una buona idea quando avere le giuste soluzioni può eliminare la necessità di assumere un team dedicato per mantenere il tuo sito web funzionante senza problemi.
Proteggendo circa un milione di siti Web WordPress, BackupBuddy e iThemes Security Pro sono soluzioni leader del settore per la sicurezza a livello di applicazione e il ripristino dei dati. Controlli di vulnerabilità regolari e scansioni malware forniti dalla funzione Scansione sito consentono di ridurre significativamente la superficie di attacco e proteggere il sito Web da tutte le vulnerabilità note. Backup automatici e ripristini semplici con un clic: BackupBuddy consente di eseguire il ripristino da tutti gli attacchi dannosi e gli errori comuni.
Il miglior plugin di sicurezza per WordPress per proteggere e proteggere WordPress
WordPress attualmente alimenta oltre il 40% di tutti i siti Web, quindi è diventato un facile bersaglio per gli hacker con intenzioni dannose. Il plug-in iThemes Security Pro elimina le congetture dalla sicurezza di WordPress per rendere facile proteggere e proteggere il tuo sito Web WordPress. È come avere un esperto di sicurezza a tempo pieno nel personale che monitora e protegge costantemente il tuo sito WordPress per te.
Kiki ha una laurea in gestione dei sistemi informativi e più di due anni di esperienza in Linux e WordPress. Attualmente lavora come specialista della sicurezza per Liquid Web e Nexcess. In precedenza, Kiki faceva parte del team di supporto di Liquid Web Managed Hosting, dove ha aiutato centinaia di proprietari di siti Web WordPress e ha appreso quali problemi tecnici incontrano spesso. La sua passione per la scrittura le permette di condividere le sue conoscenze ed esperienze per aiutare le persone. Oltre alla tecnologia, a Kiki piace conoscere lo spazio e ascoltare podcast sul vero crimine.