AEM ne parvient pas à rediriger /robots.txt via la règle de réécriture Apache

Lorsqu’Apache est configuré pour réécrire des /robots.txt vers un chemin de gestion des ressources numériques dans AEM, mais que la requête renvoie toujours un 404, cela est probablement dû à la manière dont Dispatcher gère les URL. Cet article explique comment le paramètre DispatcherUseProcessedURL affecte le comportement de réécriture et comment sa mise à jour résout l’échec de redirection.

Description description

Environnement

Adobe Experience Manager (AEM) On-Premise, v6.5

Problème/Symptômes

  • Une règle de réécriture est définie pour rediriger le /robots.txt vers /content/dam/xxxx/robots.txt. La ressource existe et est accessible directement.
  • Les règles d’autorisation Dispatcher permettent d’accéder à la fois à /robots.txt et à /content/dam/xxxx/robots.txt. Malgré cela, l’accès à /robots.txt renvoie une erreur 404.

Cause première

La configuration Apache comprend la règle de réécriture suivante :

RewriteRule /robots.txt$ /content/dam/xxxx/robots.txt [ PT,L]

Cette règle réécrit correctement les requêtes de /robots.txt dans le chemin d’accès de la gestion des ressources numériques. Cependant, le Dispatcher est défini avec :

DispatcherUseProcessedURL 0

Avec ce paramètre, Dispatcher ignore l’URL réécrite et utilise à la place l’URI de requête d’origine. Par conséquent, il ne reconnaît pas le chemin réécrit et renvoie une erreur 404.

Selon le document Installation de Dispatcher, définir DispatcherUseProcessedURL sur 1 garantit que Dispatcher utilise l’URL traitée après mod_rewrite, ce qui permet à la redirection de fonctionner comme prévu.

Résolution resolution

Pour résoudre le problème :

  1. Ouvrez votre fichier de configuration Apache Dispatcher, généralement nommé httpd-dispatcher.conf.
  2. Recherchez la directive DispatcherUseProcessedURL.
  3. Modifiez sa valeur de 0 à 1 :
    • DispatcherUseProcessedURL 1
  4. Enregistrez le fichier et redémarrez Apache pour que les modifications soient prises en compte.

Cette modification garantit que le Dispatcher utilise l’URL réécrite (/content/dam/xxxx/robots.txt) au lieu de la requête d’origine (/robots.txt), ce qui permet à la redirection de fonctionner comme prévu.

Lecture connexe

Liste de contrôle de sécurité de Dispatcher dans le guide AEM Dispatcher

recommendation-more-help
experience-cloud-kcs-help-kbarticles