Per reindirizzare il traffico HTTP su HTTPS in Apache, è possibile utilizzare il modulo “mod\_rewrite” di Apache. Di seguito è riportato un esempio di come configurarlo in un file “.htaccess”:
```
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
```
Questo codice fa quanto segue:
1. `RewriteEngine On` abilita l’uso di regole di riscrittura URL.
1. `RewriteCond %{HTTPS} off` controlla se il protocollo HTTPS non è attivo.
1. `RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]` riscrive qualsiasi richiesta come una richiesta HTTPS e invia una risposta di reindirizzamento permanente (301).
Se il file “.htaccess” non funziona, assicurati che il tuo file di configurazione Apache sia configurato per consentire la sovrascrittura di file “.htaccess”. Puoi fare ciò localizzando la direttiva “AllowOverride” e impostandola su “All” o “FileInfo”.
Se “mod\_rewrite” non è abilitato nel tuo server Apache, puoi abilitarlo con il seguente comando (per sistemi basati su Debian/Ubuntu):
```
sudo a2enmod rewrite
```
Dopo aver fatto ciò, sarà necessario riavviare Apache:
```
sudo systemctl restart apache2
```