La tendenza del web e dei provider è di incoraggiare sempre più la creazione di siti web sicuri. Oggi infatti dal web passano miliardi di informazioni personali o anche solo sensibili, ma in grado di profilare in modo molto dettagliato l'utente che utilizza un determinato servizio.
Per fortuna grazie al consorzio che sta dietro Let's Encrypt, i certificati SSL sono diventati accessibili a tutti ed è possibile mettere in sicurezza il proprio sito web per garantire agli utenti una navigazione più serena.
È possibile impostare un redirect sfruttando alcune regole nel file htaccess della root del vostro sito. ATTENZIONE! Se si utilizza il CMS WordPress, proseguire la lettura fino alla fine dell'articolo.
Per il seguente codice è necessario ringraziare l'utente di Stackoverflow che ha proposto questa elegante soluzione che potete trovare a questo indirizzo.
RewriteCond %{HTTPS} =off [OR] RewriteCond %{HTTP_HOST} !^www\. [OR] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(html|php) RewriteCond %{HTTP_HOST} ^(www\.)?(.+)$ RewriteRule ^(index\.(html|php))|(.*)$ https://www.%2/$3 [R=301,L]
Queste 5 righe, se inserite nel vostro htaccess vi permetteranno di:
L'eleganza di questa proposta sta nel fatto di non dover inserire mai il dominio del proprio sito, rendendola una soluzione già pronta per essere copiata ed incollata.
Really Simple SSL è il plugin gratuito per WordPress che in meno di 5 minuti permette di abilitare il CMS all'uso del certificato SSL su tutto il sito reindirizzando tutto il traffico in https.
È necessario utilizzare le regole htaccess descritte precedentemente se si utilizza WordPress in una sottocartella (ad esempio per la sezione blog di un sito più strutturato), quando il sito principale che si trova sulla root non è sviluppato con il CMS in questione.
In aggiunta a ciò basta installare il plugin menzionato, svolgere le basilari configurazioni richieste ed il gioco è fatto.
Se WordPress risiede nella root ed è il sito principale, basta solo installare questo plugin senza modifiche manuali al file htaccess.
Dopo il passaggio del traffico del sito ad https assicurarsi di seguire l'ottima guida predisposta dallo sviluppatore del plugin per aggiornare la Google Search Console e Google Analytics al nuovo sistema.
E' giusto così? Dammi un aiuto please^
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{HTTPS} =off [OR]
RewriteCond %{HTTP_HOST} !^www\. [OR]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(html|php)
RewriteCond %{HTTP_HOST} ^(www\.)?(.+)$
RewriteRule ^(index\.(html|php))|(.*)$ https://www.%2/$3 [R=301,L]
# END WordPress
Mi sembra un po' incasinato, che obiettivo ti stai ponendo con le righe aggiuntive diverse dalla soluzione proposta nell'articolo?
Inoltre vedo che stai usando WordPress, quindi non sbatterci troppo la testa e usa il plugin suggerito 🙂
Io ho il problema che nel mio sito non riesco a fare il redirect da https://example.com/page01.php a https://www.example.com/page01.php
(vorrei fare il redirect da http a https e da non-www a www e questo caso che ho scritto è l'unico che non mi funziona, andando in errore ERR_CONNECTION_REFUSED).
Al momento sto utlizzando:
Options -MultiViews
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTPS}s on(s)|offs()
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [NE,L,R]
# Redirect to HTTPS
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Sapresti darmi una mano (ho provato anche la tua soluzione ma non mi funziona)?
Grazie,
Davide
Prova con questo
RewriteCond %{HTTPS} =off [OR]
RewriteCond %{HTTP_HOST} !^www\. [OR]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(html|php)
RewriteCond %{HTTP_HOST} ^(www\.)?(.+)$
RewriteRule ^(index\.(html|php))|(.*)$ https://www.%2/$3 [R=301,L]
fammi sapere
Sei un grande! Finalmente ho risolto con le tue righe!
Salve, mi scusi la domanda, essendo un'autodidatta sono poco pratica. Ho realizzato da sola il mio sito con html su dreamweaver ma non ho capito in quale parte del sito va scritto il codice indicato. Potreste aiutarmi? Spero in un aiuto. Grazie mille
Salve! Ammettiamo che lei abbia la cartella principale del suo sito sul suo server ad esempio: /httpdocs o /public_html (sono le più frequenti). Nel gergo di dice nella "root" del sito web ovvero nella cartella principale dove lei ha fatto l'upload di tutto il suo sito.
Lì crea un file .htaccess (il punto ci deve essere) e inserisce il codice come da articolo.
Questa guida si applica solo se ha un sito su server Apache, normalmente buona parte degli hosting Linux usa Apache. Se invece avesse un sito su hosting Windows allora questa guida non le serve a nulla.
Spero di averla aiutata. Saluti ?