FAQ - Come si fa il redirect da SENZA WWW a WWW di tutte le pagine del sito?

Per effettuare un redirect di ogni pagina del proprio sito da senza WWW a WWW esattamente come dall'esempio a seguire

######
vecchiodominio.it/pagina1

verso

www.nuovodominio.it/pagina1
######

basta generare un file .htaccess nella cartella "public_html" del proprio sito ed inserire il codice come segue:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^tuodominio.it [NC]
RewriteRule ^(.*)$ http://www.tuodominio.it/$1 [L,R=301]

Il codice di sopra effettuerà il redirect di tutte le pagine del sito che non hanno il prefisso "www"  verso la url corrispondente con il "www."

Se si rendesse necessario mantenere separati "http" e "https", basterà utilizzare il codice a seguire:

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^tuodominio.it [NC]
RewriteRule ^(.*)$ http://www.tuodominio.it/$1 [L,R=301]

RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^tuodominio.it[NC]
RewriteRule ^(.*)$ https://www.tuodominio.it/$1 [L,R=301]

L'esempio riportato sopra farà in modo che qualora il protocollo utilizzato fosse "https", il redirect su  "www" resterà su "https".


Per reindirizzare invece HTTP WWW e HTTP NON-WWW su HTTPS WWW

L'approccio migliore è il seguente:

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.tuodominio.it%{REQUEST_URI} [L,NE,R=301]


Se si avessero sottodomini all'interno della cartella /public_html o se non si vuole scrivere il dominio di destinazione del codice, magari perchè va inserito su molti account e si ha fretta (soluzione meno performante in quanto c'è un passaggio in più che va ad estrarre il nome host)

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://www.%1%{REQUEST_URI} [L,NE,R=301]

Si possono anche mantenere separati HTTP e HTTPS seguendo con il seguente approccio reindirizzando tutto su https www:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^tuodominio.it [OR]
RewriteCond %{HTTP_HOST} ^www.tuodominio.it [NC]
RewriteRule ^(.*)$ https://www.tuodominio.it/$1 [L,R=301]

RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^tuodominio.it [OR]
RewriteCond %{HTTP_HOST} ^www.tuodominio.it [NC]
RewriteRule ^(.*)$ https://www.tuodominio.it/$1 [L,R=301]
FAQ Precedente su Hosting
<< Come limitare il numero di connessioni con FIlezilla?
FAQ Successiva su Hosting
Come si imposta il Redirect in frame/URL Cloaking/URL Masking? >>
FAQ Correlate

Come si disabilita Magic Quotes con htaccess?
Va innanzitutto detto che non è possibile disabilitare sui nostri server Magic Quotes tramite htaccess, tuttavia per farlo basta creare un php.ini personalizzato. La FAQ prosegue...

Cosa fare per l'alert "Segnalato sito ingannevole" da Google Safe Browsing?
Quando un sito viene bloccato dal servizio Safe Browsing di Google, non è possibile visualizzarlo all'interno del browser in quanto viene visualizzato nel browser al...

E' possibile ospitare contenuti per adulti sui vostri server?
Si, sui nostri server è possibile anche ospitare siti e contenuti per adulti purchè non si tratti di materiale illegale e/o protetto da diritto d'autore,...

Come risolvere "No 'Access-Control-Allow-Origin' header is present on the requested resource" ?
Per risolvere l'errore No 'Access-Control-Allow-Origin' header is present on the requested resource  causato dalla policy CORS per alcuni tipi di richieste, se non già presente bisogna...