Forzar HTTPS usando .htaccess
Los visitantes de tu website deberían ingresar a tu website de manera segura a través de una conexión encriptada usando un certificado SSL. Esto se considera buena práctica, ayuda a un mejor posicionamiento en Google, pero sobretodo ayuda a la seguridad de tu website. Sin embargo, el tener un certificado SSL no garantiza que tus visitantes entren a tu website con protocolo seguro HTTPS, pueden sencillamente entrar HTTP y no encriptar su conexión. Para dirigir todas las conexiones al protocolo seguro HTTPS, se debe configurar la directiva en el archivo .htaccess.
En NubeHost ofrecemos certificados gratis SSL en todas nuestras cuentas de web hosting.
(Aun no eres cliente? Clic aquí para ver todas nuestros planes con certificado SSL incluído)
Si aun no tienes un archivo .htaccess (el nombre incluye el punto) lo puedes crear directamente bajo el directorio /public_html con cualquier editor de texto. La redirección se logra con el siguiente código dentro del archivo .htaccess:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
NOTA: Si tu página está basada en Wordpress, es más sencillo usar un plugin directamente, por ejemplo: Really Simple SSL.
Redirigir HTTPS solamente en cierto dominio
Si solamente quieres forzar HTTPS en uno de tus dominios, puedes usar el siguiente código:
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
Asegúrate de cambiar el dominio "example.com" por el tuyo.
Si esto no funciona, intenta quitando las primeras dos líneas:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
Redirigir HTTPS para directorios específicos
Si solamente quieres forzar el protocolo seguro HTTPS en los directorios sensibles de tu página web, puedes poner el archivo .htaccess directamente en ese o esos directorios y agregar el siguiente código:
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} tudirectorio
RewriteRule ^(.*)$ https://www.example.com/tudirectorio/$1 [R=301,L]
Asegúrate de cambiar el texto del dominio al tuyo y "tudirectorio" al nombre de tu directorio.
¡Listo! Al visitar cualquier página web de tu cuenta, debería redirigir al protocolo seguro automáticamente.