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.txt a /content/dam/xxxx/robots.txt. La risorsa esiste ed è accessibile direttamente.
  • Le regole di autorizzazione Dispatcher consentono l’accesso sia a /robots.txt che a /content/dam/xxxx/robots.txt. Nonostante ciò, l’accesso a /robots.txt restituisce 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:

  1. Apri il file di configurazione di Apache Dispatcher, in genere denominato httpd-dispatcher.conf.
  2. Individuare la direttiva DispatcherUseProcessedURL.
  3. Cambia il valore da 0 a 1:
    • DispatcherUseProcessedURL 1
  4. 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

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