Redirigir dominio desde http a conexión segura (https)
Dos de los sitios que hacen e-commerce -de la empresa en la que trabajo- han estado (desde que surgieron) como un subdominio del dominio principal; sin embargo, a partir de este mes es necesario migrarlos a su propio dominio. Por suerte, lo prevà y la base de datos está alojada en cada dominio, serÃa cuestión de mover los archivos nada más.
Un asunto que no sabÃa como conseguir apropiadamente, es la redireccion exacta de cada URL indexada en los buscadores (cosa que es primordial sobre todo para sitios haciendo comercio); lo que pensaba era hacer una redirección del subdominio hacia el dominio principal del sitio en su nuevo servidor.
Al ser un sitio que sirve a partir de operaciones con tarjetas de crédito e información de los clientes, necesita pasar por un certificado de seguridad (lo que conocemos por conexión segura https) y el manejo desde un subdominio se me hacÃa más fácil haciendo redirecciones a partir de un .php; pero, haciéndolo desde la raÃz del sitio, núnca lo habÃa hecho.
Para mi fortuna, le comenté a un amigo lo que estaba haciendo -a través del Talk (IM) de Google- y me sugirió resolver el asunto con expresiones regulares desde un .htaccess.
Primero convertir cualquier dirección http a https:
RewriteEngine On* Este código va en la raÃz del nuevo dominio.
RewriteCond %{HTTPS} !=on
#RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R]
RewriteRule ^(.*) https://nuevo-dominio.com/$1 [R]
Lo que se entiende a simple vista es que para una condición en la que estamos en una dirección http (sin conexión segura), reescribimos (redirigimos) la url hacia una con conexión segura (https).
Si te fijaste, hay una lÃnea con el sÃmbolo de numero (#) (eso significa que la estamos comentando, no será interpretada) que indica que %{SERVER_NAME} escribirá SIEMPRE la dirección incluyendo “www“. Sin embargo, debido a que el SSL del sitio en cuestión está gestionado para una dirección sin “www“, pues lo escribà a mano: https://nuevo-dominio.com.
Apoyado en la información que me dió mi amigo y datos que encontré en sitios visitados desde Google, solucioné el asunto con un par de lÃneas dentro del .htaccess para que las URL guardadas en caché o tomadas desde un buscador me llevaran al punto exacto, pero en el nuevo dominio.
RewriteEngine on* Este código va en el dominio anterior (en la raÃz).
RewriteCond %{http_host} ^dominio-indexado\.com [nc]
RewriteRule ^subdominio/(.*)$ https://nuevo-dominio.com/$1 [r=301,nc]
RewriteCond %{http_host} ^www\.dominio-indexado\.com [nc]
RewriteRule ^subdominio/(.*)$ https://nuevo-dominio.com/$1 [r=301,nc]
En menos de media hora tenÃa resuelto mi problema.
Para casos en los que se pasen variables por URL, se puede hacer también, sólo que es preciso utilizar la misma estructura.
Espero que esta información te sirva
4 Comentarios



