LinkChecker의 특수 문자에 대해 URL 유효성 검사를 무시하는 절차

속성을 사용하여 링크를 그대로 유지함으로써 LinkChecker의 특수 문자에 대한 URL 유효성 검사를 무시하는 방법을 알아봅니다.

설명 description

환경

  • AEM as a Cloud Service
  • AEM 6.5.17

문제/증상


URL에 유효하지 않은 특수 문자가 포함된 링크를 렌더링하려면 사용자 지정 구성 요소가 필요합니다. LinkChecker 구성의 검사 사용 안 함 옵션이 true로 설정되어 있더라도 LinkChecker는 렌더링된 HTML에서 링크를 확인하고 제거합니다.





예:

문자가 포함된 링크 {" 및 "} 은(는) URL에 사용할 수 없습니다.

<span><a href="{testURL}">TEST URL</a></span>

LinkChecker는 렌더링된 HTML에서 링크를 제거합니다

<span>>TEST URL</span>

이 유효성 검사 프로세스의 결과로 URISyntaxException ​이(가) error.log에 기록됩니다.

23.01.2024 12:43:34.500 *WARN* [ 000.000.000.000 [ 1705981414300] GET /content/wknd/language-masters/en/test.html HTTP/1.1] com.day.cq.rewriter.linkchecker.impl.LinkCheckerImpl Ignoring malformed URI: java.net.URISyntaxException: Illegal character in path at index 0: {testURL}

해결 방법 resolution

해당 HTL(HTML 템플릿 언어) 구성 요소의 링크에 x-cq-linkchecker="skip" 특성을 추가합니다. 이 속성은 LinkChecker가 URL 유효성 검사를 완전히 무시하도록 지시합니다.

예:

링크가 URL에서 잘못된 문자 *{" 및 "}*을(를) 사용하는 경우.
< span><a x-cq-linkchecker="skip" href="{testURL}">TEST URL</a></span>

이 링크(링크)는 렌더링된 HTML에 유지됩니다.
< span><a x-cq-linkchecker="skip" href="{testURL}">TEST URL</a></span>

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