Forzar tu sitio a cargar de forma segura con un archivo .htaccess

Visión general

Si tu has agregado un certificado SSL a tu dominio, puedes forzar a todos los visitantes de tu sitio a usar HTTPS para asegurarte que tu tráfico es seguro. Esta página enumera ejemplos de cómo hacerlo dependiendo de cómo tu sitio está alojado.

Da click en cualquiera de los siguientes artículos para ver instrucciones de como crear/editar un archivo .htaccess en tu servidor.

View either of the following articles for instructions on how to create/edit an .htaccess file on your server.

Ten en cuenta que tu cliente FTP debe estar configurado para mostrar los archivos ocultos. Si no, no vas a ver el archivo .htaccess. Da click en el siguiente artículo para ver detalles en cómo ver los archivos ocultos:

¿Qué cambiar en los siguientes ejemplos?

Los siguientes ejemplos pueden ser ingresados en tu archivo .htaccess exactamente como se muestra.

Solo si el ejemplo contiene una URL en negrita, tu debes cambiarla por tu actual URL.
Por ejemplo, si tu ves el dominio “example.com”, cambialo por el dominio de tu propiedad.

Forzar un dominio para que sirva de forma segura usando HTTPS (para cualquier sitio)

Lo que vas a ver a continuación, fuerza a cualquier requerimiento http a ser reescrito usando https. Por ejemplo, el siguiente código fuerza el requerimiento http://example.com a cargar https://example.com. Esto también fuerza a los recursos vinculados directamente (imágenes, css, etc.) a usar https:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE] 

Si esto no te funciona, primero revisa las terminaciones de la línea. Copiar/pegar desde tu buscador web a un editor de texto puede no funcionar bien, entonces después de pegar dentro de tu editor de texto tu deberás eliminar cada salto de línea y agregarla de vuelta (salto de línea = tecla de retorno).

Forzar HTTPS con WordPress

Si tu archivo .htaccess ya contiene algunos códigos agregados por defecto, ingresa lo siguiente arriba o abajo de ese código. Nunca ingreses código dentro de las etiquetas de comentario que empiezan y terminan con:

# BEGIN WordPress
# END WordPress

Es posible para un visitante ingresar directamente a una URL HTTP en tu sitio WordPress, aún cuando el certificado SSL está activo. Para forzar cualquier requerimiento HTTP a redireccionar a HTTPS, tu puedes agregar código a tu archivo .htaccess de WordPress. Hay dos opciones de código abajo para que los uses. El primero deberá funcionar como se muestra, pero si no, intenta la opción dos en vez.

Opción #1

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE] 

Ejemplo completo incluido el código por defecto de WordPress

Abajo es como se verá tu archivo de .htaccess con con el nuevo código HTTPS y el código de WordPress ya existente.

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE] 

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Option #2

En este ejemplo, asegurate de cambiar “example.com” a tu dominio.

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L,NE]

Ejemplo completo incluido el código por defecto de WordPress

Abajo es como se verá tu archivo de .htaccess con con el nuevo código HTTPS y el código de WordPress ya existente.

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L,NE]

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Forzar HTTPS con DreamPress

Es posible para un visitante ingresar directamente con una URL HTTP a tu sitio DreamPress. Para forzar cualquier requerimiento HTTP a redireccionar a HTTPS, agrega lo siguiente a tu archivo .htaccess a tu WordPress.

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE] 

Solución de problemas

Cloudflare

Si tu tienes habilitado Cloudflare en el panel de DreamHost, tu sitio debe usar el subdominio “www”. Asegúrate que tu archivo .htaccess no tiene ningún redireccionamiento a la versión non-www de tu URL. Si lo hace y estas usando Cloudflare, you podrás experimentar el error “Muchas redirecciones” o 'Too many redirects' en tu buscador.

WordPress

Esto también puede ser un inconveniente con WordPress pues este requiere URLs en la base de datos para usar o no “www” para operar correctamente. Da click en el siguiente artículo Da click en el siguiente artículo para ver más detalles.

Error de infinitas redirecciones

Da click en el siguiente artículo si ves que tu sitio redirecciona en círculos después de hacer esos cambios.

See also

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.