Cuando tenemos varios dominios funcionando en una instalación multisitio de Drupal y queremos forzar el protocolo HTTPS, ya sea en todos éstos o en un sólo dominio, deberemos realizar una serie de cambios en el archivo .htaccess de nuestra instalación.
Si queremos forzar que todos los dominios que se encuentran alojados dentro de nuestro multisitio de Drupal bajo el protocolo HTTPS, deberemos insertar dentro de nuestro archivo .htaccess el siguiente código justo debajo de RewriteEngine On.
# Redirigir todo el tráfico a HTTPS
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Pero puede suceder que no queramos que todo el tráfico de nuestra instalación, y por lo tanto todos los dominios que corren bajo nuestro multisitio de Drupal, sean redirigidos al protocolo HTTPS. En este caso, lo que deberemos hacer es redirigir dominios concretos, lo cual realizaremos insertando el siguiente código en vez del anterior:
#Redirigir el dominio ejemplo.com
RewriteCond %{HTTP_HOST} ^ejemplo\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
En el caso anterior, siempre que accedamos a nuestro sitio con la dirección ejemplo.com accederemos con el protocolo HTTPS, pero si accedemos con www.ejemplo.com seguiremos accediendo con HTTP. Para solventar este caso, y no crear muchos redireccionamientos que serán sancionado por los buscadores, en el archivo .htaccess deberemos buscar y deseleccionar (quitar #) las siguiente líneas:
# To redirect all users to access the site WITHOUT the 'www.' prefix,
# (http://www.example.com/foo will be redirected to http://example.com/foo)
# uncomment the following:
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Y ya está. Siguiendo estos pasos habremos configurado nuestro multisitio de Drupal para que acceda, ya sean todos sus dominios o algunos en concreto, bajo el protocolo HTTPS. Si utilizas otra forma de realizar esta acción nos la puedes dejar en los comentarios y así compartirlo con todos nuestros lectores.
Añadir nuevo comentario