Forzar https usando htaccess

Forzar https usando htaccess

A veces necesitamos forzar que una URL siempre sea https por motivos de seguridad, por ejemplo una URL de login o una URL para introducir tarjetas de crédito.

Esto se puede conseguir desde el .htaccess con el siguiente código:

#Forzar https
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} identificacion [OR]
RewriteCond %{REQUEST_URI} forma-pago
RewriteRule ^(.*)$ https://www.aquihaydominios.com/$1 [R=301,L]

En nuestro caso, hemos añadido dos: la de identificación y la de forma-pago. En los dos casos, será redirigirá automáticamente a https. Además añadimos R=301 para indicar a Google que es una redirección permanente.

Si por el contrario, queremos que una página nunca sea https, tendríamos que indicar lo siguiente en el .htaccess.

RewriteCond %{SERVER_PORT} 443
RewriteCond %{REQUEST_URI} fin-pedido
RewriteRule ^(.*)$ http://www.aquihaydominios.com/fin-pedido [R=301,L]

Hay que tener en cuenta, que en ambos casos se usa la cláusula SERVER_PORT para indicar el puerto por defecto del http, y https, en nuestro caso el http va por el 80, y el https por el 443

¿Se te ocurre otra forma de hacerlo? ¿Cómo harías para forzar que todas fueran http menos unas cuantas? (ya que, de este modo, al estar en una https e ir a otra URL haciendo clic en un enlace, se mantiene el https, a no ser que sea fin-pedido, que se especificó que solo fuera http).

¡Ánimo, piensa y cuéntanos!

También te puede interesar...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *