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
Instalar
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
/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
Hooks 1
hook_help
Proporciona texto de ayuda para el módulo en la página de ayuda
Troubleshooting 4
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.
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.
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.
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