Da HTTP ad HTTPS
Quando si abilita HTTPS su un dominio, spesso il sito resta raggiungibile anche in HTTP. Non è un dettaglio secondario: si espongono contenuti duplicati e si lascia aperta una versione non cifrata della stessa applicazione. La soluzione standard è forzare il redirect verso HTTPS in modo trasparente.
Su hosting con cPanel, questo passaggio si gestisce a livello di .htaccess. Si intercettano le richieste in ingresso non sicure e si riscrivono verso la versione HTTPS dello stesso URL. Il risultato è immediato: qualsiasi accesso viene automaticamente portato sul protocollo corretto, senza modificare link o struttura del sito.
Oltre all’aspetto sicurezza, si evita dispersione lato SEO. Un redirect permanente consolida le risorse su un’unica versione e rende coerente l’indicizzazione.
Verificare il certificato SSL prima del redirect
Prima di impostare il redirect è necessario verificare che il certificato SSL del dominio sia correttamente installato e valido. Il redirect, infatti, non abilita HTTPS e non genera un certificato SSL: si limita a trasferire le richieste HTTP verso un indirizzo HTTPS.
La verifica può essere effettuata aprendo direttamente nel browser l’indirizzo del sito utilizzando https://. La pagina deve essere raggiungibile senza errori relativi al certificato. Se HTTPS non funziona correttamente, è necessario risolvere prima il problema relativo al certificato e solo successivamente configurare il reindirizzamento.
In questa guida vedremo come impostare un redirect da HTTP ad HTTPS dal file .htaccess.
Per prima cosa sarà necessario accedere al pannello hosting cPanel e cliccare sulla voce File Manager.

Verrà visualizzato l’elenco dei file del sito, bisognerà allora recarsi nella cartella in cui risiede l’installazione di WordPress (nell’esempio nella cartella public_html).

Per visualizzare il file .htaccess sarà necessario cliccare su Settings, spuntare la voce Show Hidden Files (dotfiles) e quindi cliccare su Save.

Per modificare il file sarà necessario cliccare su di esso e dal menù a tendina selezionare la voce Edit.

Verrà così aperto il file modificabile.

Dove inserire il redirect nel file .htaccess di WordPress
Nel caso di un sito WordPress, all’interno del file .htaccess è normalmente presente un blocco di direttive compreso tra i commenti # BEGIN WordPress e # END WordPress. Questa parte viene gestita automaticamente da WordPress e può essere rigenerata quando viene aggiornata la configurazione dei permalink.
Per questo motivo è preferibile mantenere le regole personalizzate separate dal blocco gestito da WordPress. La regola utilizzata per forzare HTTPS può essere inserita prima del blocco # BEGIN WordPress, evitando così che una successiva riscrittura delle regole dei permalink possa eliminarla.
Per effettuare il redirect in HTTPS bisognerà inserire quanto segue:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.dominio.ltd/$1 [R=301,L]Cambiando la voce “dominio.ltd” con il nome del dominio. Il codice 301 indica che il reindirizzamento è permanente. Il browser e i motori di ricerca ricevono quindi l’indicazione che la risorsa HTTP è stata spostata stabilmente sulla corrispondente versione HTTPS.
Per confermare la modifica basterà cliccare su Save Changes.

In alcuni casi il codice è sostituibile con questo:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Questa regola serve a forzare automaticamente il passaggio da HTTP a HTTPS, intercettando tutte le richieste non sicure e reindirizzandole verso la versione protetta dello stesso URL. Il funzionamento è semplice: prima si verifica se la connessione in ingresso non utilizza HTTPS. Solo in quel caso entra in gioco la regola di rewrite vera e propria.
La direttiva mantiene il percorso della risorsa richiesta. Questo significa, ad esempio, che una richiesta indirizzata a http://dominio.ltd/cartella/pagina/ viene reindirizzata alla corrispondente versione https://dominio.ltd/cartella/pagina/.
Il redirect viene eseguito con codice 301, quindi permanente. Questo comunica ai motori di ricerca che la versione corretta della risorsa è quella in HTTPS, evitando di mantenere separate le versioni HTTP e HTTPS dello stesso contenuto. Il flag L indica inoltre che, quando la regola viene applicata, non devono essere elaborate ulteriori regole di rewrite successive nello stesso ciclo di elaborazione.
Come verificare il redirect da HTTP ad HTTPS
Dopo aver salvato il file .htaccess è opportuno verificare che il redirect funzioni non soltanto sulla homepage, ma anche sulle pagine interne. Inserendo nel browser un indirizzo come http://dominio.ltd/pagina/ si deve essere reindirizzati automaticamente verso https://dominio.ltd/pagina/.
La verifica può essere effettuata anche da terminale utilizzando curl:
curl -I http://dominio.ltd/
Tra gli header restituiti dal server si dovrà trovare il codice HTTP relativo al redirect e un header Location contenente l’indirizzo HTTPS di destinazione. Con le regole mostrate in questa guida il codice atteso è 301.
Redirect loop e problemi dopo il passaggio a HTTPS
Se dopo la modifica il browser segnala troppi reindirizzamenti, significa che si è creato un redirect loop. In pratica, una richiesta viene reindirizzata più volte senza riuscire a raggiungere la risorsa finale.
Prima di aggiungere una nuova regola nel file .htaccess è quindi opportuno verificare che il passaggio a HTTPS non sia già forzato da WordPress, da un plugin, dal pannello hosting o da eventuali sistemi intermedi come reverse proxy e CDN. Applicare più redirect con condizioni non compatibili può produrre comportamenti diversi da quelli previsti.
Un altro problema possibile è il cosiddetto mixed content. In questo caso la pagina viene caricata tramite HTTPS, ma al suo interno sono ancora presenti risorse richiamate esplicitamente tramite HTTP, come immagini, fogli di stile o file JavaScript. Il redirect del sito e il mixed content sono quindi due problemi distinti: il primo riguarda la richiesta della pagina, mentre il secondo riguarda le risorse caricate dalla pagina stessa.
HTTPS e HSTS
Dopo aver verificato che il sito funzioni correttamente tramite HTTPS è possibile valutare anche l’utilizzo di HSTS (HTTP Strict Transport Security). Questo meccanismo comunica al browser che il dominio deve essere raggiunto esclusivamente attraverso HTTPS per il periodo indicato dalla relativa policy.
HSTS non sostituisce il certificato SSL e richiede una configurazione consapevole, soprattutto quando vengono coinvolti sottodomini. Il funzionamento e la configurazione sono approfonditi nella guida dedicata a HSTS – HTTP Strict Transport Security.
Nella pratica, una volta configurato il redirect, conviene provare sia la homepage sia alcuni URL interni, verificare la risposta HTTP e controllare che il browser non segnali errori relativi al certificato o alle risorse caricate. In questo modo il passaggio da HTTP a HTTPS viene verificato sull’intera catena e non soltanto osservando il cambio di protocollo nella barra degli indirizzi.



