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:

Ver código HTACCESS
#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.

Ver código 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!

Forzar www usando htaccess

Una de las formas de conseguir URL Canónicas es forzar el uso de las www en nuestros dominios.

Para ello basta con añadir el siguiente código en nuestro archivo .htaccess

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.aquihaydominios\.com [NC]
RewriteRule ^(.*)$ http://www.aquihaydominios.com/$1 [R=301,L]

Además es recomendable seleccionar un dominio preferido en Google Webmaster Tools

¿Aplicas estas prácticas en tu Web? ¿Conoces alguna forma mejor de hacerlo?