certificado debe cubrir tanto www y sin www https. Algunos certificados de proveedor cubren ambos para www.xxxx.yyy, pero solo uno para xxxx.yyy.
Encienda vuelve a escribir:
RewriteEngine On
haz todas HTTPS usar http:
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://xxx.yyy/$1 [L,R=301]
hacer sólo https www utilizan el no-www https:
RewriteCond %{SERVER_PORT} 443
RewriteCond %{HTTP_HOST} ^www[.].+$
RewriteRule ^(.*)$ https://xxxx.yyy/$1 [L,R=301]
no puede ser un proceso no -www https, de lo contrario, se produce un bucle.
En [L, R = 301]:
- L = Si se procesó la regla, no procesar más.
- R = 301 = Indica al navegador/robot que realice un redireccionamiento permanente.
más genérico
Un enfoque más genérico - no puerto dependiente - es:
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule ^(.*)$ https://xxxx.yyy/$1 [R=301,QSA]
para hacer cualquier URL con www
deje caer.
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]
para forzar cualquier no-https url, incluso para aquellos sistema aguas abajo de equilibradores de carga que caen https, utilizan https.
Tenga en cuenta que no he probado las opciones forwarded
, por lo que agradecería cualquier comentario sobre ellas.Esas líneas podrían omitirse si su sistema no está detrás de un equilibrador de carga.
A HTTP_HOST o no
Puede utilizar ${HTTP_HOST}
a ser parte de la URL en el RewriteRule
, o puede utilizar el texto explícito nombre de dominio canónico (xxxx.yyy
arriba).
La especificación del nombre de dominio garantiza explícitamente que no se utilizan medios de flexión de caracteres ligeros en la URL proporcionada por el usuario para posiblemente engañar a su sitio haciendo algo para lo que podría no estar preparado, o al menos el nombre de dominio apropiado aparece en la barra de direcciones, independientemente de qué cadena de URL abrió la página.
Incluso podría ayudar a convertir dominios codificados en punycode para mostrar los caracteres Unicode adecuados en la barra de direcciones.
Marcar una respuesta correcta ya! –