Redireccionar conexiones de HTTP a HTTPS y viceversa

Estás aquí:
Tiempo estimado de lectura: 1 min

Si tu sitio es HTTPS, debes configurar una redirección 301 de cualquier URL desde HTTP a HTTPS equivalente. Lo mismo ocurre a la inversa. En este artículo explicamos cómo.

Si acabas de pasar tu HTTP a HTTPS, no te olvides de redirigir todas las URL antiguas (HTTP) de nuevo (HTTPS).

Esto también se aplica a un sitio nuevo en HTTPS, ya que es probable que algunos de los enlaces (sin darte cuenta) sean HTTP.

Gestiona la redirección en el Apache VirtualHost

Una buena manera es configurar la redirección directamente en el archivo de configuración que define tu VirtualHost. Este archivo se puede encontrar en varios lugares, dependiendo del sistema que estés.

Si deseas redirigir cualquier URL de HTTP a HTTPS URL equivalente, añade esto en el host virtual correspondiente a HTTP:

Redirect permanent / https://www.example.com/

(Recuerda sustituir el nombre de tu sitio)

Si realmente deseas utilizar RewriteRule (en principio no es una buena idea, mira los comentarios):

RewriteEngine on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Esto funciona para todas las URLs gestionadas por el host virtual, con o sin el subdominio.

Obviamente, si lo que te interesa es todo lo contrario, si deseas redirigir cualquier URL desde HTTPS a HTTP URL equivalente, añade esto en el host virtual correspondiente a HTTPS:

Redirect permanent / http://www.example.com/

(Recuerda sustituir el nombre de tu sitio)

Si realmente deseas utilizar RewriteRule (en principio no es una buena idea, mira los comentarios):

RewriteEngine on
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Administrar la redirección en .htaccess

También puedes configurar estas redirecciones en un archivo .htaccess en la raíz de su sitio. En este caso, si deseas redirigir cualquier URL desde HTTP a HTTPS URL equivalente, añade esto en el archivo .htaccess en la raíz de tu sitio:

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

La condición  % {HTTPS}! = on  significa “se solicita la URL sin HTTPS.” También puedes probar  RewriteCond %{HTTPS} off

Si, por el contrario, la URL que quieres reorientar es desde HTTPS a HTTP URL equivalente, añade esto en el archivo .htaccess en la raíz de tu sitio web:

RewriteEngine on
RewriteCond %{HTTPS}
on RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Activar la redirección en WordPress, Joomla o Prestashop

Para facilitarte el trabajo, puedes utilizar un complemento/plugin o sólo configurar tu sitio y lo tendrás funcionando bajo el protocolo SSL con tan solo algunos clics. A continuación los tips:

WordPress: Puedes utilizar el plugin Simple SSL, lo instalas, lo activas y listo.

Joomla o Prestashop: Sólo tienes que dirigirte a la configuración de tu sitio, activar la opción de forzar las conexiones con SSL y listo

¿Te resultó útil este artículo?
No me gusta 0
Vistas: 111