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>