Redirección HTTPS y WWW

Proporciona una interfaz de configuración simple para aplicar redirecciones HTTPS y con prefijo WWW sin modificar el core de Drupal ni los archivos de configuración del servidor.

httpswww
4,251 sites
20
drupal.org
Drupal 8 Drupal 9 Drupal 10 Drupal 11

Instalar

Drupal 11, 10, 9, 8 v2.1.3
composer require 'drupal/httpswww:^2.1'

Overview

El módulo HTTPS and WWW Redirect ofrece un método sencillo para configurar el formato de URL preferido con o sin el prefijo "www", incluyendo la opción de forzar redirecciones HTTPS. Esto elimina la necesidad de modificar archivos .htaccess, código del core de Drupal o configuración del servidor.

El módulo utiliza un event subscriber para interceptar las solicitudes entrantes y realizar redirecciones 301 permanentes cuando la URL no coincide con el formato preferido configurado. Soporta la exclusión de subdominios específicos de las redirecciones con prefijo WWW, lo cual es útil para sitios con múltiples subdominios como forum.example.com o mail.example.com.

La seguridad se mejora mediante un permiso de bypass que permite a usuarios de confianza acceder al sitio sin ser redirigidos, evitando escenarios de bloqueo durante cambios de configuración.

Features

  • Forzar acceso solo por HTTPS redirigiendo todas las solicitudes HTTP a HTTPS
  • Agregar o eliminar el prefijo WWW de las URLs del dominio con redirecciones 301 permanentes
  • Excluir subdominios específicos de las redirecciones con prefijo WWW (ej., forum, mail, shop)
  • Sistema de bypass basado en permisos que permite a los administradores acceder al sitio sin redirecciones
  • Anulación de emergencia mediante settings.php para recuperar el acceso si queda bloqueado accidentalmente
  • Redirecciones 301 permanentes amigables para SEO para consolidar URLs y evitar contenido duplicado
  • Manejo adecuado de cache con cache tags y contexts para un rendimiento óptimo

Use Cases

Aplicar HTTPS para cumplimiento de seguridad

Los sitios de comercio electrónico que manejan información de pago deben usar HTTPS. Habilite la opción 'Redirigir a HTTPS' para asegurar que todo el tráfico esté cifrado, lo cual ayuda con el cumplimiento de PCI DSS y protege los datos del cliente.

Canonicalización de URLs para SEO

Los motores de búsqueda tratan www.example.com y example.com como sitios diferentes, lo cual puede dividir su ranking de SEO. Configure el módulo para redirigir a su formato preferido (con o sin www) para consolidar todos los enlaces a una única URL canónica.

Sitio con múltiples subdominios con WWW en el dominio principal

Un sitio empresarial con subdominios forum.example.com y shop.example.com quiere www en el sitio principal. Configure 'Agregar prefijo WWW' e ingrese 'forum, shop' en el campo de exclusión de subdominios para redirigir example.com a www.example.com mientras deja los subdominios sin cambios.

Pruebas en entornos de desarrollo y staging

Otorgue a los desarrolladores el permiso 'Bypass HTTPS and WWW Redirects' para que puedan probar el sitio en varias URLs sin ser redirigidos, mientras los usuarios en producción experimentan las redirecciones aplicadas.

Tips

  • Siempre otórguese el permiso 'Bypass HTTPS and WWW Redirects' antes de habilitar las redirecciones para evitar el bloqueo
  • Pruebe que su sitio sea accesible vía HTTPS y con ambas URLs www/sin-www antes de habilitar las redirecciones
  • El módulo usa redirecciones 301 (permanentes) que son cacheadas por los navegadores - limpie el cache del navegador al probar
  • Una vez configurado para producción, evite realizar cambios adicionales ya que cambios frecuentes de redirección pueden afectar negativamente el SEO
  • La función de exclusión de subdominios solo aplica al agregar el prefijo WWW - los subdominios se manejan automáticamente de forma correcta al eliminar WWW

Technical Details

Admin Pages 1
Configuración de HTTPS and WWW Redirect /admin/config/system/httpswww

Configurar el formato de URL preferido para su sitio, incluyendo la aplicación de HTTPS y el manejo del prefijo WWW. Los cambios surten efecto inmediatamente después de guardar.

Permisos 2
Administrar HTTPS and WWW Redirects

Permite a los usuarios acceder y modificar la configuración de redirección. Este permiso solo debe otorgarse a administradores de confianza ya que una mala configuración puede bloquear a los usuarios del sitio.

Omitir HTTPS and WWW Redirects

Permite a los usuarios acceder al sitio sin ser redirigidos al formato de URL configurado. Útil para administradores durante cambios de configuración y para probar diferentes variantes de URL.

Hooks 1
hook_help

Proporciona texto de ayuda para el módulo en la página de ayuda

Troubleshooting 4
Ocurre un bucle de redirección infinito después de guardar la configuración

Limpie todos los caches usando drush cr o mediante la interfaz de administración. Si eso no funciona, agregue $config['httpswww.settings']['enabled'] = FALSE; a settings.php para deshabilitar temporalmente las redirecciones.

Bloqueado del sitio después de habilitar las redirecciones

Agregue la siguiente línea a su archivo settings.php: $config['httpswww.settings']['enabled'] = FALSE; Esto anula la configuración y deshabilita todas las redirecciones, permitiéndole acceder al sitio y corregir la configuración.

Se cierra la sesión al guardar la configuración

Esto sucede cuando no tiene el permiso 'Bypass HTTPS and WWW Redirects' y está accediendo al sitio desde una URL diferente a la configurada. La redirección a un dominio diferente cierra su sesión. Otórguese el permiso de bypass antes de realizar cambios.

La redirección HTTPS no funciona

Verifique que esté instalado un certificado SSL válido y que su servidor esté configurado para servir solicitudes HTTPS. Pruebe accediendo manualmente a https://susitio.com antes de habilitar la redirección.

Security Notes 3
  • Ambos permisos están marcados como 'restrict access' lo que significa que solo deben otorgarse a roles de confianza
  • El permiso 'Administer HTTPS and WWW Redirects' permite a los usuarios potencialmente bloquear a otros del sitio
  • La anulación de configuración mediante settings.php proporciona un mecanismo de recuperación de emergencia pero requiere acceso a los archivos del servidor