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

Generalidades

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:

¿Dónde debería ser creado el archivo .htaccess?

El archivo .htaccess debería estar localizado en el directorio primario del sitio web. Si tu sitio es 'example.com', el archivo .htaccess ira en el directorio /home/username/example.com. También puedes confirmar el directorio web del sitio en el panel.

  1. Navega hasta la página Manage Domains.
  2. Da click en el enlace 'Edit' a la derecha de tu dominio debajo de la columna 'Web Hosting'. 
  3. Ahí verás la sección del directorio web de tu sitio.

Recuerda que tu cliente FTP debe estar configurado para mostrar los archivos escondidos. Si no, no verás el archivo .htaccess. Ve el siguiente artículo para saber cómo ver los archivos escondidos:

¿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.

Resolviendo advertencias de contenido mixto

Incluso cuando tu sitio está redirigiendo correctamente a la URL segura, es posible que el navegador siga emitiendo una advertencia que indica que algunos recursos, como los enlaces, apuntan a la versión no segura. Puedes agregar código adicional a tu archivo .htaccess para resolver esas advertencias. Ver el siguiente artículo para más detalles.

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.