AEM no puede redirigir /robots.txt mediante la regla de reescritura de Apache
Cuando Apache está configurado para reescribir /robots.txt en una ruta DAM en AEM pero la solicitud sigue devolviendo un 404, es probable que se deba a la forma en que Dispatcher gestiona las URL. Este artículo explica cómo la configuración de DispatcherUseProcessedURL afecta al comportamiento de reescritura y cómo al actualizarla se resuelve el error de redirección.
Descripción description
Entorno
Adobe Experience Manager (AEM) local, v6.5
Problema/Síntomas
- Se ha establecido una regla de reescritura para redirigir
/robots.txta/content/dam/xxxx/robots.txt. El recurso existe y se puede acceder a él directamente. - Las reglas de Dispatcher allow permiten el acceso a
/robots.txty a/content/dam/xxxx/robots.txt. A pesar de esto, acceder a/robots.txtdevuelve un error 404.
Causa principal
La configuración de Apache incluye la siguiente regla de reescritura:
RewriteRule /robots.txt$ /content/dam/xxxx/robots.txt [ PT,L]
Esta regla reescribe correctamente las solicitudes de /robots.txt en la ruta DAM. Sin embargo, Dispatcher se configura con:
DispatcherUseProcessedURL 0
Con esta configuración, Dispatcher ignora la URL reescrita y, en su lugar, utiliza el URI de solicitud original. Como resultado, no reconoce la ruta reescrita y devuelve un error 404.
Según el documento Instalar Dispatcher, establecer DispatcherUseProcessedURL en 1 garantiza que Dispatcher use la URL procesada después de mod_rewrite, lo que permite que la redirección funcione según lo esperado.
Resolución resolution
Para resolver el problema:
- Abra el archivo de configuración de Apache Dispatcher, con el nombre típico
httpd-dispatcher.conf. - Busque la directiva
DispatcherUseProcessedURL. - Cambie su valor de 0 a 1:
DispatcherUseProcessedURL 1
- Guarde el archivo y reinicie Apache para que los cambios surtan efecto.
Este cambio garantiza que Dispatcher use la dirección URL reescrita (/content/dam/xxxx/robots.txt) en lugar de la solicitud original (/robots.txt), lo que permite que la redirección funcione según lo esperado.
Lectura relacionada
Lista de comprobación de seguridad de Dispatcher en la guía de AEM Dispatcher