AEM이 Apache 재작성 규칙을 통해 /robots.txt으로 리디렉션하지 못했습니다.

Apache가 AEM의 DAM 경로에 /robots.txt을(를) 다시 작성하도록 구성되었지만 요청이 여전히 404​을(를) 반환하는 경우 Dispatcher이 URL을 처리하는 방식 때문일 수 있습니다. 이 문서에서는 DispatcherUseProcessedURL 설정이 다시 작성 동작에 어떻게 영향을 주는지, 업데이트하여 리디렉션 실패를 해결하는 방법에 대해 설명합니다.

설명 description

환경

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

문제/증상

  • /robots.txt을(를) /content/dam/xxxx/robots.txt(으)로 리디렉션하도록 다시 작성 규칙이 설정되었습니다. 에셋이 존재하며 직접 액세스할 수 있습니다.
  • Dispatcher에서 규칙이 /robots.txt과(와) /content/dam/xxxx/robots.txt 모두에 대한 액세스를 허용합니다. 그럼에도 불구하고 /robots.txt에 액세스하면 404 오류가 반환됩니다.

근본 원인

Apache 구성에는 다음 재작성 규칙이 포함됩니다.

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

이 규칙은 /robots.txt에 대한 요청을 DAM 경로에 올바르게 다시 기록합니다. 하지만 Dispatcher은 다음으로 설정됩니다.

DispatcherUseProcessedURL 0

이 설정을 사용하면 Dispatcher에서는 다시 작성된 URL을 무시하고 대신 원래 요청 URI를 사용합니다. 따라서 다시 작성된 경로를 인식하지 못하고 404 오류를 반환합니다.

Dispatcher 설치 문서에 따라 DispatcherUseProcessedURL을(를) 1(으)로 설정하면 Dispatcher에서 mod_rewrite 이후에 처리된 URL을 사용하여 리디렉션이 예상대로 작동할 수 있습니다.

해결 방법 resolution

문제를 해결하려면:

  1. Apache Dispatcher 구성 파일(일반적으로 httpd-dispatcher.conf)을 엽니다.
  2. DispatcherUseProcessedURL 지시문을 찾습니다.
  3. 값을 0에서 1로 변경합니다.
    • DispatcherUseProcessedURL 1
  4. 파일을 저장하고 Apache를 다시 시작하여 변경 사항을 적용합니다.

이렇게 변경하면 Dispatcher에서 원래 요청(/robots.txt) 대신 다시 작성된 URL(/content/dam/xxxx/robots.txt)을 사용하여 리디렉션이 예상대로 작동할 수 있습니다.

관련 읽기

AEM Dispatcher 안내서의 Dispatcher 보안 검사 목록

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