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]
Comentarios