Che cos'è il codice di stato di reindirizzamento temporaneo HTTP 307 e quando utilizzarlo?
Questo tutorial riguarda i seguenti argomenti:
I web server rispondono alle richieste dei browser tramite i codici di stato HTTP. Ci sono più di 40 codici di stato del server e 9 di questi sono usati esplicitamente per i reindirizzamenti degli URL. Come tutti gli stati HTTP, i codici di stato dei reindirizzamenti sono composti da tre numeri. Quando si tratta di reindirizzamenti, ogni codice viene gestito in modo diverso, anche se possono sembrare simili.
Comprendere i codici di stato è essenziale per la diagnosi e la riparazione dei problemi di configurazione del sito web. Tratteremo in dettaglio il codice di stato HTTP ‘307’, inclusa l’importanza dei codici di stato e in che modo differiscono.
Cos’è il reindirizzamento temporaneo HTTP 307?
HTTP 307 è un codice di stato che potresti incontrare durante la navigazione in internet. È un messaggio che il tuo browser web riceve dal server di un sito web, che indica che la pagina o il contenuto che stai cercando è stato temporaneamente spostato in una nuova posizione. Ciò significa che il tuo browser deve inviare un’altra richiesta alla nuova posizione per ottenere il contenuto che stavi cercando.
Il reindirizzamento 307 consente ai siti web di apportare modifiche o aggiornamenti senza interrompere la tua esperienza di navigazione. Quindi, la prossima volta che vedi un messaggio di errore 307 – non preoccuparti! Significa solo che la pagina che stai cercando è stata spostata e il tuo browser la sta seguendo nella nuova posizione.
Come funzionano i reindirizzamenti HTTP 3XX
Quando digiti un indirizzo web nel tuo browser, viene inviata una richiesta al server che ospita il sito web. Il server risponde alla richiesta HTTP con l’azione appropriata indicata da un codice di stato. A volte, il server può istruire il tuo browser a cercare il contenuto richiesto altrove. È qui che entrano in gioco i codici di reindirizzamento HTTP 3XX.
Il codice di stato HTTP 307 informa il browser che il contenuto richiesto si trova temporaneamente in un altro luogo. Ad esempio, il server potrebbe aver spostato il contenuto su un URL diverso, ma è previsto che torni all’URL originale in futuro. Quando il tuo browser riceve il codice HTTP 307, sa di inviare una nuova richiesta all’URL temporaneo dove può ottenere il contenuto dalla risorsa originale.
In breve, i reindirizzamenti 307 consentono ai server di spostare temporaneamente il contenuto senza perderne traccia, così i browser sono ancora in grado di trovarlo.
Differenza tra 302 e 307 per i reindirizzamenti temporanei
Esistono diversi tipi di reindirizzamenti HTTP, ma due dei più comuni sono i reindirizzamenti 302 e 307. Entrambi vengono utilizzati per reindirizzamenti temporanei. La differenza principale tra i due reindirizzamenti interni è il modo in cui gestiscono il metodo di richiesta.
Un reindirizzamento 302 consente ai browser di utilizzare una richiesta diversa dalla richiesta originale. Invece un reindirizzamento 307 richiede lo stesso metodo di richiesta sia per la richiesta originale che per il reindirizzamento.
Ciò significa che con un reindirizzamento 302, i visitatori possono utilizzare le richieste POST sulla pagina originale e possono passare al metodo GET sulla pagina reindirizzata. D’altra parte, un reindirizzamento 307 li costringerebbe a continuare a utilizzare POST.
Nel complesso, il principio di base è che se si desidera mantenere lo stesso metodo di richiesta per le richieste future, bisogna utilizzare un reindirizzamento 307. Se vuoi forzare l’uso di un altro metodo, dovrai allora usare un reindirizzamento 302.
Quando utilizzare un reindirizzamento temporaneo 307
Il reindirizzamento 307 è utile quando è necessario spostare temporaneamente una pagina web su un nuovo URL ma si prevede di spostarla nuovamente all’URL originale in futuro. Ad esempio, potrebbe essere necessario rimuovere una pagina web per la manutenzione. Tuttavia, si desidera reindirizzare i visitatori a una pagina temporanea che li informa della manutenzione e fornisce una stima di quando il sito tornerà online.
I motori di ricerca non aggiorneranno la nuova posizione della risorsa nei loro database se usi un reindirizzamento 307. Tieni presente che se il tuo sito non viene reindirizzato correttamente con un reindirizzamento permanente, il tuo link juice non passerà al nuovo URL.
Come impostare il reindirizzamento interno 307?
Impostare un reindirizzamento 307 è piuttosto semplice. Tutto ciò di cui hai bisogno è l’accesso al server del tuo sito web o un content management system (CMS). I modi per impostare un reindirizzamento interno sono:
- Tramite il file .htaccess
- Plugin/estensioni (se utilizzi WordPress, ad esempio)
Reindirizzamento 307 in .htaccess
Innanzitutto, dovrai trovare il tuo file .htaccess. Di solito si trova nella directory principale del tuo sito web. Successivamente, è necessario verificare se la direttiva “RewriteEngine” è attiva, come mostrato nel blocco di codice sottostante:
RewriteEngine On
Se la riga di codice sopra è sul tuo file .htaccess, significa che il motore di riscrittura URL Apache è abilitato. Dopo aver confermato che il motore di riscrittura è abilitato, puoi inserire questa riga:
RewriteRule ^example-page\.html$ /new-page.html [R=307,L]
Ecco una breve spiegazione del frammento di codice di cui sopra:
- “RewriteRule” è una direttiva, che specifica la regola di reindirizzamento;
- “example-page.html” è l’URL di origine da cui desideri reindirizzare;
- “new-page.html” è l’URL a cui desideri reindirizzare temporaneamente;
- “R=307” indica che è necessario utilizzare un reindirizzamento temporaneo con codice di stato 307;
- E la “L” dice ad Apache di interrompere l’elaborazione di altre regole se questa corrisponde.
Gli utenti di SiteGround possono facilmente modificare il file .htaccess e impostare il reindirizzamento da Site Tools > Sito > Gestione File. Apri la cartella principale del tuo sito web, che è tuodominio.com/public_html. Trova e seleziona il file .htaccess e clicca Modifica.
Inserisci il codice di reindirizzamento nella parte superiore del file, apporta le modifiche necessarie e Salva le modifiche.
Plugin
Un’alternativa più semplice per la creazione di reindirizzamenti è l’utilizzo di plug-in per applicazioni CMS come WordPress. Esistono tantissimi plugin utili che ti consentono di impostare reindirizzamenti in modo rapido ed efficiente. Un plug-in di questo tipo è il plugin Redirection.
Per creare un reindirizzamento 307 con il plugin Redirection, segui i semplici passaggi riportati di seguito.
- Accedi alla dashboard di WordPress e installa Redirection da Plugin > Aggiungi nuovo.
- Dopo aver attivato il plug-in, puoi trovarlo nella sezione Strumenti > Redirection per il completamento della configurazione iniziale.
- Identifica la pagina o l’URL che desideri reindirizzare con il plug-in.
- Aggiungi una nuova pagina o crea un nuovo articolo a cui reindirizzare temporaneamente i tuoi visitatori.
- Apri l’interfaccia del plugin nella tua Dashboard.
- Digita l’URL di partenza che desideri reindirizzare.
- Digita il nuovo URL di destinazione in URL di arrivo.
- Premi il pulsante delle impostazioni accanto ad Aggiungi un nuovo reindirizzamento per selezionare il tipo di reindirizzamento desiderato.
- Seleziona il tipo di reindirizzamento dal rispettivo menu a discesa.
- Fai click sul pulsante Aggiungi una redirezione in modo che il plug-in possa completare la configurazione.
- Verifica se il reindirizzamento funziona utilizzando le opzioni del plug-in integrato sotto il reindirizzamento specifico.
Ricorda che un reindirizzamento 307 è temporaneo, quindi assicurati di rimuovere il reindirizzamento una volta che non è più necessario. Questo può aiutare a evitare confusione per i tuoi visitatori e migliorare le prestazioni SEO complessive del tuo sito web, principalmente in termini di link juice.
Nel complesso, è necessario solo un po’ di know-how tecnico per impostare i reindirizzamenti 307 in modo efficace e semplice.
Riepilogo
Per riassumere, HTTP 307 è un codice di stato di reindirizzamento temporaneo che indica a un client di inviare nuovamente la stessa richiesta a un URL diverso mantenendo il metodo e il corpo della richiesta originali. È utile quando la risorsa richiesta si è spostata in una diversa ubicazione, ma il cliente deve continuare a utilizzare lo stesso metodo per la nuova ubicazione.
Utilizzando i reindirizzamenti 307, i proprietari di siti web possono garantire che i propri visitatori vengano indirizzati alla posizione corretta senza perdere dati importanti. Aiuta anche con la SEO assicurando che i motori di ricerca capiscano che la risorsa è stata temporaneamente spostata anziché eliminata definitivamente.