AEM non riesce a reindirizzare /robots.txt tramite la regola di riscrittura Apache
Quando Apache è configurato per riscrivere /robots.txt in un percorso DAM in AEM ma la richiesta restituisce ancora un 404, è probabile che ciò sia dovuto al modo in cui Dispatcher gestisce gli URL. In questo articolo viene illustrato come l’impostazione DispatcherUseProcessedURL influisce sul comportamento di riscrittura e come l’aggiornamento risolve l’errore di reindirizzamento.
Descrizione description
Ambiente
Adobe Experience Manager (AEM) On-Premise, v6.5
Problema/Sintomi
- Regola di riscrittura impostata per reindirizzare
/robots.txta/content/dam/xxxx/robots.txt. La risorsa esiste ed è accessibile direttamente. - Le regole di autorizzazione Dispatcher consentono l’accesso sia a
/robots.txtche a/content/dam/xxxx/robots.txt. Nonostante ciò, l’accesso a/robots.txtrestituisce un errore 404.
Causa principale
La configurazione di Apache include la seguente regola di riscrittura:
RewriteRule /robots.txt$ /content/dam/xxxx/robots.txt [ PT,L]
Questa regola riscrive correttamente le richieste per /robots.txt nel percorso DAM. Tuttavia, il Dispatcher è impostato con:
DispatcherUseProcessedURL 0
Con questa impostazione, Dispatcher ignora l’URL riscritto e utilizza invece l’URI della richiesta originale. Di conseguenza, non riconosce il percorso riscritto e restituisce un errore 404.
In base al documento Installazione di Dispatcher, l’impostazione di DispatcherUseProcessedURL su 1 garantisce che Dispatcher utilizzi l’URL elaborato dopo mod_rewrite, consentendo al reindirizzamento di funzionare come previsto.
Risoluzione resolution
Per risolvere il problema:
- Apri il file di configurazione di Apache Dispatcher, in genere denominato
httpd-dispatcher.conf. - Individuare la direttiva
DispatcherUseProcessedURL. - Cambia il valore da 0 a 1:
DispatcherUseProcessedURL 1
- Salva il file e riavvia Apache per rendere effettive le modifiche.
Questa modifica garantisce che Dispatcher utilizzi l’URL riscritto (/content/dam/xxxx/robots.txt) invece della richiesta originale (/robots.txt), consentendo al reindirizzamento di funzionare come previsto.
Lettura correlata
Elenco di controllo della sicurezza di Dispatcher nella Guida di AEM Dispatcher