2012-05-23 20 views
6

Busqué y encontré cientos de casos relacionados, pero ninguno exactamente como lo que necesito. Necesito una combinación de redirecciones a hacer lo siguiente:de redirección a https y no http www a www

Acceso a:

http://mysite.com -redirected to-> http://www.mysite.com 

bien:

https://www.mysite.com -redirected to-> https://mysite.com 

Por normal del sitio http, quiero forzar www.

Pero el certificado SSL sólo funciona sin www, por lo https no debetener la www.

Gracias si alguien me puede ayudar.

+1

¿Por qué demonios querría eso? – Gerben

+0

Debido a que el certificado SSL está configurado para sólo "mysite.com" – Zarco

+3

Entonces, ¿por qué no también redirigir el tráfico http a la versión no-www? – Gerben

Respuesta

0

poner esto en su archivo .htaccess en su no HTTPS raíz documento:

RewriteCond %{HTTP_HOST} ^mysite.com$ 
RewriteRule ^(.*)$ http://www.mysite.com/$1 [R] 

Y esto en su documento raíz HTTPS:

RewriteCond %{HTTPS} =on 
RewriteCond %{HTTP_HOST} ^www.mysite.com$ 
RewriteRule ^(.*)$ https://mysite.com/$1 [R] 
+0

No funciona, como si no tuviera ningún efecto. – Zarco

+0

¿Ninguno de los dos funciona? ¿Estás seguro de que tus archivos .htaccess están siendo leídos? – Ansari

+0

Después de más pruebas, sí, la primera está funcionando. 'Http: // mysite.com' se redirige a' http: // www.mysite.com' Pero 'https: // www.mysite.com' no es redirigido a' https: // mysite.com' – Zarco

11

La redirección https://www.mysite.com-https://mysite.com puede solo suceda una vez que el cliente haya realizado una solicitud inicial al https://www.mysite.com.

Para esta conexión inicial al trabajo, el servidor en https://www.mysite.com debe tener un certificado válido para www.mysite.com; de lo contrario, esta conexión ni siquiera ocurrirá (y el servidor no enviará una respuesta de redirección).

Si aún desea un cambio de dirección, en el mismo servidor, el servidor debe presentar un certificado que es válido para los nombres de host que desea servir. Debería obtener un certificado con dos entradas DNS de nombre alternativo del sujeto: mysite.com y www.mysite.com; esto le permitirá servir a ambos hosts con el mismo certificado (y luego usar las reglas de reescritura si es necesario).

(También puede utilizar el nombre del servidor Indicación con dos certificados distintos, si espera que los clientes que lo soportan, pero eso es por lo general completamente diferentes nombres de host.)

Es bastante común para las CA para emitir certificados que son válido tanto para mysite.com como para www.mysite.com cuando solicita uno de los otros, a veces sin cargo adicional.

+0

¿sabes cómo se puede hacer esto con 'Redirect' en lugar de' Rewrite' ??? –

Cuestiones relacionadas