I codici HTTP 302 sono un modo prezioso per reindirizzare temporaneamente gli utenti del sito web verso un URL diverso. Tuttavia, se il vostro sito web applica reindirizzamenti 302 per errore, è un segno che qualcosa non va.

Non preoccupatevi, potete risolvere questo problema ma dovrete fare qualche ricerca.

Il primo passo è capire esattamente cosa sono i codici HTTP 302, come funzionano e perché si verificano. Una volta che lo sapete, potete capire cos’è andato storto e come rimediare.

In questo articolo vi diremo tutto quello che c’è sapere sugli errori HTTP 302. Poi condivideremo cinque consigli per la risoluzione dei problemi per aiutarvi a risolverli.

Cominciamo!

Guarda la Nostra Video-Guida al Codice di Stato HTTP 302

Cosa Sono i Codici di Stato HTTP 302?

I codici 302 sono un tipo specifico di codice di stato HTTP. Questi codici sono come delle “note” che un server consegna al vostro browser.

Ogni volta che fate clic su un link o navigate verso un URL, il vostro browser richiede al webserver lo stesso. In cambio, il server rimanda indietro la risorsa pertinente (per esempio la pagina a cui state cercando di accedere) insieme a un header HTTP. I codici di stato HTTP si trovano all’interno di quell’header.

Di solito non potete vedere questi codici di stato in nessuna parte della pagina web; diventano visibili solo quando si verifica un errore o se avete installato un’estensione del browser che li rende visibili:

Una schermata che mostra il codice di stato HTTP di un URL.
Il codice di stato HTTP di una pagina web, mostrato tramite un’estensione del browser Chrome.

I codici di stato 3xx (301, 302, ecc.) sono una classe di codici di stato chiamati “codici di reindirizzamento”. Vengono emessi ogni volta che il server rimanda indietro una nuova risorsa invece della risorsa richiesta.

In altre parole, vengono mostrati quando la pagina web a cui volevate accedere vi reindirizza su un’altra pagina.

La differenza critica tra il codice 301 e il codice 302 è che il primo è utilizzato per i reindirizzamenti permanenti, mentre il secondo è per i reindirizzamenti temporanei.

I reindirizzamenti 301 passano anche il “link juice”, mentre i 302 no. Questo ha un impatto significativo sull’ottimizzazione dei motori di ricerca (SEO).

Come Funzionano i Redirect 302

Quando impostate un reindirizzamento 302 per una pagina del vostro sito web che è temporaneamente non disponibile, e un utente visita quella pagina, il vostro webserver risponde al browser del visitatore con un header Location speciale. Questo header indicherà il nuovo URL a cui il browser dovrebbe reindirizzare l’utente.

Per esempio, immaginate che un utente digiti blog.example.com nella barra degli URL del suo browser, ma il sito web è configurato per reindirizzarlo su blogging.example.com.

La risposta del server includerà sia il codice di stato 302 che l’header Location: blogging.example.com. Questa impostazione dice al browser dell’utente di reindirizzare questa richiesta al nuovo URL.

Naturalmente tutto questo avviene automaticamente e dietro le quinte. L’utente non dovrebbe essere in grado di vedere nulla di tutto ciò. Il suo browser, invece, dovrebbe portarlo automaticamente sulla nuova risorsa.

Perché Accadono gli Errori HTTP 302

Se qualcosa è mal configurato sul vostro sito web, i codici 302 potrebbero essere emessi con un errore. Se questo accade, potreste incorrere in problemi come:

  • Una pagina del vostro sito reindirizza i visitatori altrove quando non dovrebbe succedere.
  • Una pagina del vostro sito reindirizza i vostri visitatori alla risorsa sbagliata
  • L’errore ERR_TOO_MANY_REDIRECTS (conosciuto anche come “redirect loop”).

Il terzo problema è l’unico che mostrerà una vera e propria pagina di errore. Se state usando il browser Chrome, una pagina di errore del ciclo di reindirizzamento avrà un aspetto simile a questo:

Il messaggio di errore ERR_TOO_MANY_REDIRECTS su Chrome dice
Il messaggio di errore di Chrome ERR_TOO_MANY_REDIRECTS.

Su Mozilla Firefox, appare così:

Il messaggio di errore ERR_TOO_MANY_REDIRECTS su Firefox dice
Il messaggio di errore ERR_TOO_MANY_REDIRECTS di Firefox.

Tutti i problemi di cui sopra sono causati da qualche configurazione errata. Può trattarsi di un conflitto di plugin, impostazioni URL errate o un file .htaccess mal configurato.

5 Metodi per Risolvere l’Errore HTTP 302

Vi mostreremo cinque metodi per capire cosa sta causando il problema e come risolverlo.

Prima di iniziare, fate un backup completo del vostro sito web. In questo modo, se qualcosa va storto, potete sempre tornare alla versione precedente. Potete anche usare un plugin per WordPress per i backup.

1. Verificare Che i Reindirizzamenti Siano Validi

Le risposte 302 di solito non sono errori. Reindirizzare temporaneamente gli utenti verso una pagina diversa può essere una configurazione valida e di solito non è qualcosa da correggere.

È un errore solo se il vostro sito web risponde con codici 302 che non dovrebbe emettere, o se sta causando un ciclo di reindirizzamento. Pertanto, il primo passo è quello di ricontrollare quali URL stanno generando i codici HTTP 302 e determinare se il reindirizzamento è appropriato o meno.

Per farlo, potete navigare verso le pagine del vostro sito web che sospettate stiano emettendo l’errore 302 e vedere se si comportano come previsto. Se una pagina temporaneamente non disponibile reindirizza alla risorsa corretta, è configurata in modo appropriato.

Tuttavia, se una pagina reindirizza alla risorsa sbagliata o il vostro browser segnala un loop di reindirizzamento mostrando una pagina di errore ERR_TOO_MANY_REDIRECTS, è un segno che uno (o più) dei vostri reindirizzamenti non è configurato bene.

2. Controllare i Plugin

Una delle cause più comuni degli errori 302 e dei loop di reindirizzamento sono i plugin.

Alcuni plugin per la gestione dei reindirizzamenti di WordPress e strumenti SEO come Yoast SEO gestiscono i reindirizzamenti del vostro sito web e vi permettono di impostare le regole di reindirizzamento:

La pagina del plugin Yoast SEO Premium per impostare i reindirizzamenti di pagina.
Impostazioni di reindirizzamento del plugin Yoast SEO Premium.

Se queste regole sono configurate male, o se due plugin sono in conflitto, possono causare problemi inaspettati. Pertanto dovrete controllare ogni strumento rilevante che è installato sul vostro sito.

Per esempio, se state usando il popolare plugin WordPress 301 Redirects , potete verificare la configurazione andando su Impostazioni > 301 Redirects. Sotto Redirect Rules vedrete una lista di tutte le regole di reindirizzamento che avete impostato:

Le impostazioni per il reindirizzamento con il plugin 301 Redirects.
Impostazioni per il reindirizzamento con il plugin WordPress 301 Redirects.

Verificate tutti i reindirizzamenti 302 elencati qui e assicuratevi che siano corretti.

Dovrete anche verificare di non aver impostato nulla che possa causare un ciclo di reindirizzamento. Per esempio, se la Pagina A è impostata per reindirizzare alla Pagina B, ma anche la Pagina B è impostata per reindirizzare alla Pagina A, si genererà un errore.

Se avete più plugin di redirect manager e non sapete con certezza quale stia causando il problema, potete provare a disattivarli uno per uno dalla pagina Plugins di WordPress (raccomandiamo di fare un backup prima):

La pagina Plugins nella bacheca admin di WordPress.
La pagina dell’admin WordPress con la lista dei plugin installati.

Dopo aver disattivato ogni plugin, provate a rivisitare l’URL problematico per vedere se l’errore 302 persiste.

Se il problema si risolve improvvisamente, saprete quale plugin stava causando il problema e potrete quindi scegliere se risolverlo o rimuovere direttamente il plugin dal sito.

3. Verificare Che le Impostazioni dell’URL di WordPress Siano Configurate Correttamente

Un’altra causa comune dell’errore HTTP 302 è una configurazione errata nelle impostazioni dell’URL di WordPress.

Per verificarlo, andate su Impostazioni > Generale nella vostra bacheca di WordPress. Qui dovreste vedere il campo Indirizzo WordPress (URL) e il campo Indirizzo sito (URL):

Le impostazioni generli di WordPress con i due campi Indirizzo evidenziati.
La pagina delle impostazioni generali di WordPress.

Nella maggior parte dei casi, gli URL in entrambi questi campi dovrebbero corrispondere. Assicuratevi che siano uguali, compresa la parte “www” (o la sua assenza) prima del nome di dominio.

Se non corrispondono, aggiornate le impostazioni, poi controllate l’URL della pagina che emette l’errore HTTP 302 per vedere se è stato risolto.

4. Verificare la Configurazione del Server

Anche un server mal configurato può talvolta causare errori di reindirizzamento 302. Pertanto, il prossimo passo è quello di controllare la configurazione del server.

Se il vostro host usa il webserver Apache, potete farlo controllando il vostro file .htaccess.

Per prima cosa, collegatevi al server del vostro sito tramite un pannello di controllo come cPanel o un client FTP. Poi navigate nella directory principale del vostro sito, dove si trovano le cartelle wp-admin e wp-content, e cercate il file .htaccess:

Schermata della cartella root della directory di un sito web dove è evidenziato il file .htaccess
Il file .htaccess nella root del sito.

Se non trovate il file .htaccess qui (e siete sicuri di essere su un server Apache), potrebbe essere necessario dire a FileZilla di mostrare i file nascosti per farlo apparire nell’elenco dei file.

Poi aprite il file nel vostro editor di testo preferito. Dovrebbe avere un aspetto simile a questo:

Schermata di un file .htaccess aperto nell'editor di testo, le direttive RewriteXXX all’interno del codice sono evidenziate.
Direttive RewriteXXX in un file .htaccess.

Ora cercheremo le direttive RewriteXXX (gli elementi evidenziati sopra). Senza entrare troppo nel tecnico, le direttive RewriteCond e RewriteRule si usano per eseguire reindirizzamenti da un URL a un altro.

La direttiva RewriteCond specifica l’URL da cui volete reindirizzare il visitatore, mentre la direttiva RewriteRule specifica l’URL verso cui volete reindirizzarlo.
Ecco un esempio:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^website.com$
RewriteRule ^(.*)$ http://www.temporary-website.com/$1 [R=302]

Il flag alla fine, “[R=302]”, dice al browser che si tratta di un reindirizzamento temporaneo 302.

Se notate delle combinazioni RewriteXXX simili a quelle sopra nel vostro file .htaccess che non dovrebbero esserci, potete commentarle, salvare le modifiche e ricaricare la pagina web problematica per vedere se il problema si risolve.

Assicuratevi solo di scaricare e salvare una copia di riserva del vostro file .htaccess prima di fare qualsiasi cambiamento nel caso qualcosa vada storto.

5. Parlare con il Web Host

Se avete provato tutti i metodi di cui sopra e avete ancora problemi, il prossimo passo è parlare con il vostro web host.

Arrivati a questo punto, risolvere un errore di codice 302 richiede un sacco di conoscenze tecniche. Pertanto, a meno che lo sviluppo web non sia il vostro lavoro, è meglio farsi aiutare da una persona esperta.

Noi di Kinsta prendiamo il supporto seriamente. Il nostro team di esperti è sempre a disposizione per aiutarvi a risolvere problemi come questo ogni volta che si presentano:

Pagine del Supporto di Kinsta.
Supporto Kinsta.

Siamo disponibili ogni giorno della settimana, 24 ore al giorno. Tutto quello che dovete fare è accedere al vostro account MyKinsta e contattarci tramite la chat dal vivo: uno dei nostri tecnici del supporto potrà aiutarvi in tempo reale.

Riepilogo

I codici di stato HTTP 302 sono un modo del tutto normale per reindirizzare i visitatori del vostro sito web. Tuttavia, si dovrebbero usare solo quando la pagina della risorsa è temporaneamente non disponibile.

Immaginate che il vostro sito web stia emettendo codici 302 per errore o che stia causando dei loop di reindirizzamento. In questo caso è fondamentale risolvere questo problema il prima possibile, o potrebbe avere un impatto negativo sulla vostra SEO e sulle conversioni.

Potete seguire questi cinque passi per risolvere gli errori HTTP 302 sul vostro sito web:

  1. Determinate se i reindirizzamenti 302 sono appropriati o meno esaminando gli URL che li stanno emettendo.
  2. Controllate i vostri plugin per verificare che tutte le impostazioni di reindirizzamento siano valide.
  3. Assicuratevi che le impostazioni degli URL di WordPress siano configurate correttamente.
  4. Controllate la configurazione del vostro server cercando le direttive RewriteXXX non corrette nel vostro file .htaccess (solo server Apache).
  5. Parlate con il vostro web host per ricevere ulteriore supporto tecnico se il problema persiste.

Avete ancora qualche domanda sull’errore HTTP 302? Fatecelo sapere nella sezione commenti.

Jeremy Holcombe Kinsta

Content & Marketing Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems ;).