Generalidades
Después de haber agregado un ceritficado SSL a tu dominio DreamHost redirige automáticamente la URL que usan los visitantes para ver tu sitio de HTTP a HTTPS. La S asegura que tu conexión esté encriptada. Por ejemplo:
- https://example.com
No hay nada de tu parte que debas actualizar para obligar a tu sitio a usar la URL segura. Sin embargo, en algunos casos especiales, puede ser necesario que crees tu propio archivo de configuración personalizado para forzar la redirección de HTTP a HTTPS.
Agregar código personalizado solo es necesario si tu sitio web requiere un código específico para forzar el redireccionamiento. Si es así, primero deberás desactivar la redirección automática en tu panel.
Una vez deshabilitado, puedes continuar agregando tu archivo .htaccess personalizado.
Esta página enumera ejemplos de cómo hacer esto dependiendo de cómo esté alojado tu sitio. Revisa cualquiera de los siguientes artículos para obtener instrucciones sobre cómo crear/editar un archivo .htaccess en tu servidor.
¿Dónde debería ser creado el archivo .htaccess?
El archivo .htaccess debería estar ubicado en el directorio primario del sitio web. Cambia username a tu usuario Shell y example.com a tu sitio website. Por ejemplo:
/home/username/example.com
También puedes confirmar el directorio web del sitio en el panel.
- Navega a la página Administrar Sitios Web.
- Da clic en el botón Administrar para abrir la página Configuraciones de Dominios, la cual te permite ajustar múltiples configuraciones de tu sitio.
- Si estás en la Vista de Malla, da clic en el botón Administrar en la parte inferior de la caja del sitio.
- Si estás en la Vista de Lista, da clic en el botón Administrar a la derecha de tu dominio.
- Desplázate hasta la sección Configuraciones Adicionales, y da clic en el botón Modificar a la derecha de la subsección Rutas.
- Aparece el 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. Mira 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 servir 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] Header always set Content-Security-Policy "upgrade-insecure-requests;"
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] Header always set Content-Security-Policy "upgrade-insecure-requests;"
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] Header always set Content-Security-Policy "upgrade-insecure-requests;" # BEGIN WordPress # The directives (lines) between `BEGIN WordPress` and `END WordPress` are # dynamically generated, and should only be modified via WordPress filters. # Any changes to the directives between these markers will be overwritten. <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]
Header always set Content-Security-Policy "upgrade-insecure-requests;"
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]
Header always set Content-Security-Policy "upgrade-insecure-requests;"
# BEGIN WordPress
# The directives (lines) between `BEGIN WordPress` and `END WordPress` are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<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] Header always set Content-Security-Policy "upgrade-insecure-requests;"/pre>
Solución de problemas
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 clic en el siguiente artículo para ver más detalles.
Error de infinitas redirecciones
Da clic en el siguiente artículo si ves que tu sitio redirecciona en círculos después de hacer esos cambios.
Resolver 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. Mira el siguiente artículo para más detalles.