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 nasconde l'estensione .html da una pagina web?
Sebbene in realtà non apporti alcun reale beneficio rimuovere l'estensione dal nome della pagina web, ed anzi in alcuni casi potrebbe creare problemi (ad esempio...

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...

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...

Come far girare gli script python .py?
Gli script  python .py funzionano correttamente sui nostri server linux, per il corretto funzionamento devono essere caricati nella cartella cgi-bin ed avere permessi 755. Nella maggior...