AEM kann /robots.txt nicht über eine Apache-Rewrite-Regel umleiten

Wenn Apache so konfiguriert ist, dass /robots.txt in einen DAM-Pfad in AEM umgeschrieben werden, die Anfrage jedoch weiterhin ein 404 zurückgibt, hängt dies wahrscheinlich damit zusammen, wie Dispatcher URLs verarbeitet. In diesem Artikel wird erläutert, wie sich die DispatcherUseProcessedURL auf das Neuschreibungsverhalten auswirkt und wie durch Aktualisieren der Einstellung der Umleitungsfehler behoben wird.

Beschreibung description

Umgebung

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

Problem/Symptome

  • Eine Rewrite-Regel ist festgelegt, um /robots.txt an /content/dam/xxxx/robots.txt umzuleiten. Das Asset ist vorhanden und direkt zugänglich.
  • Dispatcher-Regeln erlauben den Zugriff auf /robots.txt und /content/dam/xxxx/robots.txt. Trotzdem wird beim Zugriff auf /robots.txt ein 404-Fehler zurückgegeben.

Grundursache

Die Apache-Konfiguration enthält die folgende Rewrite-Regel:

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

Diese Regel schreibt Anfragen zur /robots.txt korrekt in den DAM-Pfad um. Der Dispatcher ist jedoch wie folgt festgelegt:

DispatcherUseProcessedURL 0

Bei dieser Einstellung ignoriert Dispatcher die neu geschriebene URL und verwendet stattdessen den ursprünglichen Anfrage-URI. Daher erkennt sie den umgeschriebenen Pfad nicht und gibt einen 404-Fehler zurück.

Gemäß dem Dokument Installieren von Dispatcher wird durch Festlegen von DispatcherUseProcessedURL auf 1 sichergestellt, dass Dispatcher die verarbeitete URL nach dem mod_rewrite verwendet, sodass die Weiterleitung erwartungsgemäß funktioniert.

Auflösung resolution

Beheben des Problems:

  1. Öffnen Sie Ihre Apache Dispatcher-Konfigurationsdatei, die normalerweise httpd-dispatcher.conf heißt.
  2. Suchen Sie die DispatcherUseProcessedURL.
  3. Ändern Sie den Wert von 0 auf 1:
    • DispatcherUseProcessedURL 1
  4. Speichern Sie die Datei und starten Sie Apache neu, damit die Änderungen wirksam werden.

Durch diese Änderung wird sichergestellt, dass die Dispatcher die umgeschriebene URL (/content/dam/xxxx/robots.txt) anstelle der ursprünglichen Anfrage (/robots.txt) verwendet, sodass die Umleitung erwartungsgemäß funktioniert.

Verwandtes Lesen

Die Dispatcher-Sicherheitscheckliste im AEM Dispatcher-Handbuch

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f