Scrivo questo post come promemoria per ricordami come reindirizzare tutte le richieste HTTP ad HTTPS tramite file .htaccess.
Per chi non lo sapesse, questa piccola porzione di codice (che andrò a presentare) risulta fondamentale quando si installa il certificato SSL sul proprio sito, ovvero quando si passa dalla versione http:// alla versione https://. Quest’ultima è la versione che Google sta invitando a utilizzare, così da garantire un maggiore sicurezza agli utenti che navigano nel web (vedi proteggere il sito con protocollo HTTPS).
La migrazione da HTTP ad HTTPS ha anche un altro risvolto, oltre a quello di garantire una maggiore sicurezza degli utenti che visitano il sito. Questo è un risvolto quasi puramente lucrativo, infatti Google considera il protocollo HTTPS come un segnale di ranking (vedi HTTPS as a ranking signal). Significa che a parità di condizioni tra due siti, Google va a posizionare meglio quello che utilizza il protocollo HTTPS. Puoi quindi capire l’importanza dal punto di vista SEO di questa implementazione.
Tuttavia per siti già esistenti, non basta passare al protocollo HTTPS, ma si rende anche necessario reindirizzare tutte le richieste che puntano alla versione HTTP verso la versione HTTPS. Ovviamente il redirect deve essere con codice 301, ovvero permanente.
Ora si passa al sodo e, se anche tu come me, lavori con siti hostati su server linux, allora puoi intervenire inserendo un comando all’interno del file .htaccess. Come già detto, questa indicazione farà reindirizzare tutte le richieste da parte di utenti e motori di ricerca alla pagina HTTPS.
Ecco tutto quello che devi inserire nel file .htaccess, senza fare alcuna modifica. Tutte le richieste verranno reindirizzate da HTTP ad HTTPS con un redirect 301.
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]