🔁 Cosa sono le Redirect e come si configurano in Apache

  



Nel mondo del web, le redirect (o reindirizzamenti) sono uno strumento essenziale per gestire correttamente il traffico verso le pagine di un sito web. 

Sono fondamentali per mantenere una buona esperienza utente, preservare il posizionamento SEO e garantire che i contenuti siano sempre raggiungibili, anche quando cambiano URL. 

In questo articolo vedremo cosa sono, quali tipi esistono, a cosa servono e come configurarle nel server Apache.

🔗 Ti piace Techelopment? Dai un'occhiata al sito per tutti i dettagli!

📌 Introduzione: esempi pratici

Immagina queste situazioni:

  • Hai spostato il blog da https://www.miosito.com/blog a https://blog.miosito.com
  • Vuoi forzare l'uso di HTTPS
  • Vuoi che il sito risponda solo su miosito.com e non su www.miosito.com

In tutti questi casi ti serve una redirect: un modo per dire al browser “questa pagina è stata spostata”.


🔁 Cosa sono le redirect?

Una redirect è un'istruzione che dice al browser o a Google che una pagina è stata spostata da un URL a un altro.

Redirect 301 /vecchia-pagina https://www.miosito.com/nuova-pagina

Questa riga dice:

"Se qualcuno cerca /vecchia-pagina, mandalo in modo permanente a /nuova-pagina."


🔧 Tipologie di redirect

🔁 301 – Redirect permanente

  • Quando usarla: se una pagina è stata sostituita definitivamente

  • SEO: il valore viene trasferito quasi interamente

  • Esempio:

Redirect 301 /contatti https://www.miosito.com/contattaci

🔁 302 – Redirect temporaneo

  • Quando usarla: se la vecchia pagina tornerà disponibile in futuro

  • SEO: non trasferisce autorità

  • Esempio:

Redirect 302 /evento https://www.miosito.com/evento-2025

🔁 307 – Redirect temporaneo (HTTP/1.1)

  • Simile al 302, ma assicura che il metodo HTTP (GET, POST) resti lo stesso. Utile per moduli e dati inviati.

🔁 Meta Refresh (HTML)

  • Si usa in una pagina HTML, non è lato server

  • Meno professionale e poco raccomandato per SEO.

<meta http-equiv="refresh" content="5;url=https://www.miosito.com/nuova-pagina">


Perché usare le redirect?

Le redirect sono indispensabili per:

  • Cambiare struttura URL senza perdere visitatori o posizionamento

  • Reindirizzare da http a https

  • Unificare URL (es. da www a non-www)

  • Evitare errori 404

  • Migrare domini o CMS

  • Inviare temporaneamente a una pagina di manutenzione


📁 Come si configurano le redirect in Apache

✅ Metodo 1: file .htaccess con Redirect 

Ideale se il tuo hosting lo supporta (tipico nei server Apache).

🔹 Redirect permanente di una pagina:

Redirect 301 /chi-siamo https://www.miosito.com/azienda

Significato: ogni visita a /chi-siamo verrà indirizzata in modo permanente a /azienda.


✅ Metodo 1: file .htaccess con Rewrite (condizionale)

Più potente, permette di scrivere regole condizionali. Vediamo un esempio completo:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Spiegazione riga per riga:

  • RewriteEngine On
    Attiva il motore di riscrittura (mod_rewrite)

  • RewriteCond %{HTTPS} off
    Questa riga impone una condizione: la regola seguente si applica solo se il sito è in HTTP (non sicuro)

  • RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    Reindirizza qualsiasi URL richiesto alla versione HTTPS dello stesso indirizzo

    • ^(.*)$ → È una espressione regolare (regex) che Apache usa per riconoscere gli URL da reindirizzare. In questo caso indica qualsiasi URL richiesto, da inizio a fine. Apache lo cattura in una variabile implicita chiamata $1 (anche se in questo caso non viene usata perché la riscrittura è diretta)

    • %{HTTP_HOST} → il dominio richiesto (es. www.miosito.com)

    • %{REQUEST_URI} → il percorso della pagina (es. /prodotti)

    • R=301 → redirect permanente

    • L → ferma la lettura di altre regole

Esempio pratico:

Una richiesta a:

http://www.miosito.com/prodotti

viene reindirizzata a:

https://www.miosito.com/prodotti

✅ Metodo 2: Configurazione nel file httpd.conf

Per chi ha accesso al server (es. VPS o dedicato):
<VirtualHost *:80>
    ServerName www.miosito.com
    Redirect permanent / https://miosito.com/
</VirtualHost>

Significato: chi accede a qualsiasi URL con www.miosito.com viene mandato al sito principale in HTTPS.


🔄 Altri esempi utili con Rewrite

🔄 Da www a non-www:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.miosito\.com$ [NC]
RewriteRule ^(.*)$ https://miosito.com/$1 [L,R=301]

🔄 Da non-www a www:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^miosito\.com$ [NC]
RewriteRule ^(.*)$ https://www.miosito.com/$1 [L,R=301]

🔄 Reindirizzare una directory intera:

RedirectMatch 301 ^/blog/(.*)$ https://blog.miosito.com/$1


🚧 Differenza tra Redirect e Rewrite

FunzioneRedirectRewrite
Visibile al browser✅ Sì (il browser cambia URL)❌ No (l’URL resta visibile uguale)
Tipo di istruzione
Semplice e diretta
Più potente e flessibile
Modulo Apachemod_aliasmod_rewrite
Adatto perURL statici e Reindirizzamenti chiari (es. 301)Condizioni dinamiche (es. HTTPS)

✅ Conclusione

Le redirect sono fondamentali per:

✅ Evitare errori 404
✅ Non perdere posizionamento SEO
✅ Mantenere una buona esperienza utente
✅ Fare transizioni ordinate tra pagine o domini

Apache ci fornisce due strumenti principali:

  • Redirect → semplice e diretto

  • Rewrite → potente e personalizzabile

Entrambi possono essere scritti in .htaccess o nel file di configurazione del server (httpd.conf).



Follow me #techelopment

Official site: www.techelopment.it
facebook: Techelopment
instagram: @techelopment
X: techelopment
Bluesky: @techelopment
telegram: @techelopment_channel
whatsapp: Techelopment
youtube: @techelopment