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

Quali sono i vantaggi di un hosting con IP dedicato?
I vantaggi di avere un IP dedicato sono molteplici, tuttavia c'è da dire che in realtà l'impatto su un sito medio è pressochè minimo o...

Ho esaurito lo spazio, posso richiedere spazio aggiuntivo / upgrade?
Qualora si stesse usufruendo dello spazio web gratuito o un qualsiasi altro piano hosting, è possibile in qualunque momento effettuare l'upgrade ad uno dei nostri...

Perchè non ho ricevuto i dati FTP per pubblicare il mio sito?
Se non hai ricevuto i parametri FTP (host, user , pass) con tutta probabilità è dovuto alla mancata richiesta di attivazione dell'hosting gratuito; nel caso...

Come far girare gli script perl .pl e .cgi?
Gli script CGI (.cgi) e PERL (.pl) funzionano correttamente sui nostri server Linux. Per garantirne il corretto funzionamento, devono essere caricati nella cartella cgi-bin e...