Il codice di stato HTTP 303 si verifica quando una pagina è stata temporaneamente spostata. Di conseguenza, il server non può collegarsi alla risorsa richiesta. L’utente viene invece reindirizzato a una nuova pagina. Non è solo una cosa fastidiosa, ma può anche portare ad altri problemi come loop infiniti e problemi di caching.
Per fortuna, è più facile risolvere il codice 303 See Other quando si conosce la causa del messaggio. Ad esempio, potrebbe essere necessario controllare la configurazione del server o abilitare la funzione di debug in WordPress per visualizzare il log degli errori.
In questo post daremo uno sguardo più approfondito al codice di stato HTTP 303. Poi discuteremo alcune delle sue cause più comuni e vi mostreremo come risolverle. Iniziamo!
Cos’è il codice di stato HTTP 303?
Il codice di stato HTTP 303 indica che i reindirizzamenti non si collegano alla risorsa trasferita di recente. Al contrario, si collegano a un’altra pagina, ad esempio una pagina di trasferimento.
Il messaggio è un modo per i server di comunicare ai browser che una pagina è stata temporaneamente spostata. Quindi, anche se il server ha ricevuto i dati per la richiesta HTTP, dovrete inviare una nuova richiesta GET al nuovo URL.
La reazione 303 See Other Code (come viene anche chiamata) è solitamente il risultato di richieste PUT o POST. A volte può essere causata anche da DELETE. Poiché il browser gestisce il codice visualizzando una nuova posizione, verrete reindirizzati su WordPress senza dover intervenire
Tuttavia, ci sono alcuni problemi associati a questo codice di stato:
- Può portare a loop infiniti. Questo può accadere se ogni pagina reindirizza l’utente alla risorsa originale.
- Rende difficile la memorizzazione nella cache delle risorse da parte dei proxy. In genere i proxy memorizzano nella cache solo le risorse che vengono restituite con un codice di stato 200.
- Può portare a un aumento dell’utilizzo della larghezza di banda e a prestazioni scadenti. Questo può accadere quando le risorse 303 non vengono memorizzate nella cache.
È importante sapere che il codice di stato 303 funziona in modo diverso dagli altri codici di stato HTTP. Ad esempio, anche il codice di stato HTTP 301 presenta un messaggio di reindirizzamento, ma viene visualizzato solo quando la pagina è stata spostata in modo permanente.
Inoltre, il codice di stato HTTP 302 è il “fratello” del codice di stato 303. Tuttavia, questo viene utilizzato solo per le deviazioni impermanenti.
Al contempo, il codice di stato HTTP 304 (altrimenti noto come Not Modified) indica che la risorsa non è stata modificata. Pertanto, quando vedete questo messaggio, è meglio conservare il duplicato.
Cosa causa un codice di stato HTTP 303?
Il codice di stato HTTP 303 indica semplicemente il risultato di una richiesta del client. È un codice di stato molto frainteso perché la maggior parte degli utenti pensa che rappresenti un errore. In realtà, significa solo che il server vi sta reindirizzando verso una nuova posizione.
Ecco alcuni dei motivi per cui potreste vedere il codice di stato HTTP 303:
- C’è stato un cambiamento nella posizione di una risorsa. Ad esempio, potrebbe essere stata spostata a un altro URL.
- C’è stato un cambiamento nel modo in cui si accede alla risorsa. Ad esempio, potrebbe non essere più facilmente accessibile o disponibile al pubblico.
- Il server è stato configurato male. Si tratta di un’eventualità comune.
- C’è un problema all’interno dell’applicazione. In genere questo accade quando l’applicazione client contiene del codice personalizzato che provoca il messaggio.
In genere, è facile risolvere il codice di stato HTTP 303 quando si conosce la causa del problema.
Come risolvere un codice di stato HTTP 303
Ora che ne sapete qualcosa di più sul codice di stato HTTP 303, vediamo alcuni semplici modi per risolverlo.
Tuttavia, prima di iniziare, è importante fare un backup del sito web. Infatti, alcuni di questi passaggi per la risoluzione dei problemi richiedono la modifica dei file del sito, il che può essere un compito delicato.
Potreste anche preferire eseguire queste correzioni in un ambiente di staging. Poi, una volta che sarete sicuri che tutto funziona, potete applicare le modifiche al sito web live.
1. Controllare la configurazione del server
Per scoprire cosa causa i redirect 303, potete controllare i file di configurazione del software del server, alla ricerca di istruzioni di reindirizzamento involontario. Tuttavia, per prima cosa dovrete determinare quale software di server web state utilizzando.
Nginx e Apache sono le opzioni più diffuse, quindi è probabile che il vostro server utilizzi uno di questi. In questa sezione vi mostreremo come controllare i file di configurazione di Apache.
Per iniziare, dovete accedere ai file del sito. Se il vostro web host utilizza cPanel, accedete al suo File Manager per farlo.
In alternativa, collegatevi ai file del sito utilizzando l’SFTP. Per questo approccio, dovrete scaricare un client FTP come FileZilla. Avrete anche bisogno delle vostre credenziali FTP.
Con MyKinsta trovare le credenziali FTP è semplice. Basta navigare nel cruscotto e cliccare sul sito web. Poi, nella scheda Info, scorrete verso il basso fino alla sezione SFTP/SSH:
Una volta stabilita una connessione con il client FTP, individuate la directory principale, che di solito è denominata public_html. Cercate quindi il file .htaccess:
Quindi, aprite questo file in un editor di testo e cercate le righe che utilizzano le direttive RewriteXXX. Una direttiva RewriteCond definisce un modello basato sul testo che viene confrontato con gli URL inseriti.
Se un URL corrispondente viene richiesto da un visitatore, la direttiva RewriteRule che segue le direttive RewriteCond esegue il reindirizzamento al nuovo URL. Alla fine della RewriteRule, fate particolare attenzione a [R=303].
Se trovate questo valore inserito dopo la RewriteRule, potete provare a commentarlo temporaneamente. Per farlo, utilizzate il prefisso #. Quindi, riavviate il server web e verificate se il codice di stato 303 è stato cancellato.
2. Visualizzare i log del server
La maggior parte delle applicazioni conserva una sorta di log del server in cui è possibile tenere traccia di tutte le attività. Ad esempio, i log delle applicazioni server possono rivelare quali pagine sono state richieste e quali risultati del database sono stati forniti.
Al contempo, i log dei server web riguardano l’hardware che gestisce il vostro sito web e forniscono informazioni sullo stato di salute dei servizi collegati (e del server stesso). Quindi, potete provare a risolvere il codice di stato 303 trovando il log del server e analizzandone il contenuto.
Se il vostro sito web è ospitato da Kinsta, avrete accesso a tre tipi di file di log in MyKinsta:
- error.log (qui vengono registrati gli errori specifici, compresi quelli di PHP)
- kinsta-cache-perf.log (qui vengono memorizzati gli stati di errore della cache per le richieste, come hit, miss, bypass)
- access.log (qui troverete tutte le richieste di Nginx per il giorno corrente)
Per visualizzare questi log, dovete accedere alla vostra dashboard MyKinsta. Poi, cliccate su Siti WordPress nel menu a sinistra dello schermo. A questo punto, scegliete il sito web di cui volete visualizzare i log e cliccate sulla scheda Log:
Il primo file di log che potrete visualizzare è error.log. Potete però utilizzare il menu a tendina per selezionare tutti i log che desiderate consultare:
Una volta scelto il registro che desiderate visualizzare, vedrete un elenco di tutti gli errori o le richieste che si sono verificate sul vostro sito:
Potete anche utilizzare la barra di ricerca per cercare un testo specifico nel file. Inoltre, potrete utilizzare l’SFTP per scaricare il log sul vostro computer.
Anche se l’accesso ai log del server non è di per sé una soluzione, analizzarli può aiutarvi a capire qual è il problema che sta scatenando il codice di stato 303.
3. Eseguire il debug dell’applicazione
Infine, potreste provare a eseguire il debug dell’applicazione client. Questa opzione è la migliore se c’è del codice personalizzato nella vostra applicazione che causa il codice di stato HTTP 303.
Per iniziare, create una copia del sito in un ambiente locale. In questo modo potrete ricreare lo scenario esatto in cui si è verificato il codice di stato 303. Potrete anche visualizzare il codice dell’applicazione nel momento in cui qualcosa va storto.
Per attivare il debug in WordPress, la cosa più semplice è utilizzare un plugin come WP Debugging:
In alternativa, potete farlo manualmente modificando il file wp-config.php. Anche in questo caso, dovrete accedere ai file del sito tramite cPanel o utilizzando un client FTP. Quindi, cercate il file nella cartella principale del sito web.
Una volta entrati nel file wp-config.php, andate in fondo al file, dove c’è scritto “Questo è tutto, smetti di modificare!“. Quindi, aggiungete il seguente codice:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
Ora potete visualizzare gli errori del sito individuando la cartella wp-content . Se il debug è andato a buon fine, potrete notare un file debug.log visibile solo quando WordPress è entrato in modalità debug.
Potete scaricare il file per visualizzarlo sul computer e trovare l’errore che causa l’HTTP 303 Status Code. Dopodiché, potrete disattivare la modalità di debug cambiando i valori in “false” o eliminando completamente le righe di codice.
Il codice di stato HTTP 303 influisce sulla SEO?
Se siete preoccupati per la visibilità del vostro sito web, allora vi starete chiedendo in che modo il codice di stato HTTP 303 influisca sull’ottimizzazione dei motori di ricerca (SEO).
La buona notizia è che è improbabile che il codice 303 See Other abbia un impatto significativo sulla SEO del vostro sito. Lo scopo principale del messaggio è quello di comunicare al client che la risorsa richiesta è stata spostata.
Pertanto, il client deve effettuare una nuova richiesta alla nuova posizione per poter accedere alla risorsa. Il codice di stato 303 è pensato per essere utilizzato solo per le richieste GET. Pertanto, i client dovranno utilizzare il nuovo URL quando effettueranno richieste future alla risorsa.
Mentre è improbabile che il codice di stato 303 influisca sulla SEO, i codici di stato HTTP 301 e HTTP 302 possono farlo. Questo perché vengono utilizzati per i reindirizzamenti permanenti e temporanei. Pertanto, possono trasferire la link equity del vostro sito.
Riepilogo
Il codice di stato HTTP 303 è un errore estremamente fastidioso. Inoltre, viene spesso interpretato male, quindi può essere difficile da risolvere. Per fortuna, esistono dei modi per risolvere il messaggio 303 See Other e consentire al server di connettersi alla risorsa richiesta.
Ad esempio, potreste dover controllare i file di configurazione del vostro server e verificare la presenza di reindirizzamenti involontari. Inoltre, potete visualizzare i log del server o eseguire il debug dell’applicazione per individuare l’errore che causa il codice di stato HTTP 303.
Un altro modo per ridurre le possibilità che il vostro sito abbia dei problemi è quello di utilizzare un web host di qualità come Kinsta. Tuttavia, nel caso in cui doveste riscontrare dei problemi, tutti i nostri piani offrono un’assistenza di prim’ordine per aiutarvi a risolverli. Date un’occhiata ai nostri piani per iniziare!