certificato deve coprire sia www e non www https. Alcuni certificati del provider coprono entrambi per www.xxxx.yyy, ma solo uno per xxxx.yyy.
Accendere riscritture:
RewriteEngine On
fare tutti https uso http:
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://xxx.yyy/$1 [L,R=301]
solo fare https www usano il non www https:
RewriteCond %{SERVER_PORT} 443
RewriteCond %{HTTP_HOST} ^www[.].+$
RewriteRule ^(.*)$ https://xxxx.yyy/$1 [L,R=301]
Non può essere l'elaborazione non -www https, altrimenti si verifica un loop.
In [L, R = 301]:
- L = Se la regola è stata elaborata, non elabora più.
- R = 301 = indica al browser/robot di eseguire un reindirizzamento permanente.
più generico
Un approccio più generico - non porta-dipendente - è:
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule ^(.*)$ https://xxxx.yyy/$1 [R=301,QSA]
per fare qualsiasi URL con www
cadere.
RewriteCond %{HTTPS} !on
RewriteCond %{HTTPS} !1
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTP:X-Forwarded-SSL} !on
RewriteRule ^(.*)$ https://xxxx.yyy/$1 [R=301,QSA]
forzare qualsiasi URL non HTTP, anche per quei sistemi valle carico equilibratrici che cadono https, utilizzare HTTPS.
Si noti che non ho testato le opzioni forwarded
, quindi apprezzerei il feedback su eventuali problemi con loro.Queste linee potrebbero essere tralasciate se il tuo sistema non si trova dietro un bilanciatore del carico.
PER HTTP_HOST o no
È possibile utilizzare ${HTTP_HOST}
di essere parte dell'URL nel RewriteRule
, oppure è possibile utilizzare il tuo esplicito canonico nome di dominio di testo (xxxx.yyy
sopra).
Specifica il nome di dominio in modo esplicito assicura che nessun mezzo di caratteri-bending lieve-di-mano sono utilizzati nell'URL fornito dall'utente possibilmente ingannare il vostro sito nel fare qualcosa che potrebbe non essere preparato per, o almeno assicura che il il nome di dominio corretto appare nella barra degli indirizzi, indipendentemente da quale stringa di URL ha aperto la pagina.
Potrebbe anche aiutare a convertire domini codificati con punycode per mostrare i caratteri Unicode corretti nella barra degli indirizzi.
Segna una risposta corretta già! –