AEM kan inte omdirigera /robots.txt via regel för Apache-omskrivning
När Apache har konfigurerats för att skriva om /robots.txt till en DAM-sökväg i AEM men begäran fortfarande returnerar en 404 beror det troligen på hur Dispatcher hanterar URL:er. I den här artikeln förklaras hur inställningen DispatcherUseProcessedURL påverkar skrivbeteendet och hur uppdateringen löser omdirigeringsfelet.
Beskrivning description
Miljö
Adobe Experience Manager (AEM) On-Premise, v6.5
Problem/symtom
- En omskrivningsregel är inställd på att omdirigera
/robots.txttill/content/dam/xxxx/robots.txt. Resursen finns och är tillgänglig direkt. - Dispatcher tillåt regler tillåter åtkomst till både
/robots.txtoch/content/dam/xxxx/robots.txt. Åtkomst till/robots.txtreturnerar dock ett 404-fel.
Rotorsak
Apache-konfigurationen innehåller följande regel för omskrivning:
RewriteRule /robots.txt$ /content/dam/xxxx/robots.txt [ PT,L]
Den här regeln skriver om begäranden för /robots.txt till DAM-sökvägen. Dispatcher har dock följande inställningar:
DispatcherUseProcessedURL 0
Med den här inställningen ignorerar Dispatcher den omskrivna URL:en och använder i stället den ursprungliga URI:n för begäran. Därför känner den inte igen den omskrivna sökvägen och returnerar ett 404 -fel.
Enligt Installera Dispatcher-dokumentet säkerställer inställningen DispatcherUseProcessedURL till 1 att Dispatcher använder den bearbetade URL:en efter mod_rewrite, vilket gör att omdirigeringen fungerar som förväntat.
Upplösning resolution
Så här löser du problemet:
- Öppna din konfigurationsfil för Apache Dispatcher, vanligtvis
httpd-dispatcher.conf. - Leta reda på direktivet
DispatcherUseProcessedURL. - Ändra värdet från 0 till 1:
DispatcherUseProcessedURL 1
- Spara filen och starta om Apache för att ändringarna ska börja gälla.
Den här ändringen garanterar att den omskrivna URL:en (/content/dam/xxxx/robots.txt) används i Dispatcher i stället för den ursprungliga begäran (/robots.txt), vilket gör att omdirigeringen fungerar som förväntat.
Relaterad läsning
Dispatcher Security Checklist i AEM Dispatcher Guide