.htaccess mod_rewrite per https://subdomain.domain.com a https://www.subdomain.domain.com
-
23-12-2019 - |
Domanda
Sto usando il seguente mod_rewrite
nel file .htaccess
per reindirizzare il mio dominio in modo permanente
DA
a
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
.
Come dovrei I mod_rewrite per reindirizzare il mio sottomarino
DA
a
https://www.subdomain.domain.com
Intendo come posso reindirizzare il dominio del 3 ° livello da https://
a https://www.
utilizzando .htaccess mod_rewrite?
Grazie,
Soluzione
Cambia la tua prima regola al seguente.Questo dovrebbe reindirizzare il browser all'URL corretto in 1 hop.Nella seconda condizione corrispondiamo a www.
se è davanti all'URL, o nulla nel primo gruppo di acquisizione, e tutto ciò che viene lasciato nel secondo gruppo di acquisizione.Questo può sembrare contro-intuitivo, ma ciò si assicura che non abbiamo generatodicetagcode due volte davanti all'URL, ma anche essere in grado di premere www.
al nome host se non è già lì.www.
è solo un modo di scrivere "Abbina tutto" (o: "Abbina ogni stringa che inizia", che è anche il caso per una stringa vuota).
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www\.|)(.*)$
RewriteRule ^ https://www.%2%{REQUEST_URI} [L,R=301]
.
Quindi è necessaria una seconda regola per gestire le richieste già su HTTPS:
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
. Altri suggerimenti
Questa singola regola dovrebbe gestire i domini principali e secondari entrambi:
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]
.
Assicurati che sia posizionato come prima regola in DocumentRoot/.htaccess