AEM 링크 검사기 비활성화
설명 description
환경
Experience Manager 6.4
문제/증상
링크가 끊어진 경우 링크 검사기가 아무 작업도 하지 않도록 구성된 경우. 그런 다음 이 경우 외부 링크 검사기에서 링크를 확인하지 않도록 하려면 어떻게 해야 합니까? CPU 프로파일링 및 스레드 덤프 분석 시 링크 검사가 성능에 영향을 주므로 이 기능을 해제하려고 합니다.
배경: AEM에서 사이트가 로드될 때마다, 링크 검사기는 모든 컨텐츠 페이지에 포함된 링크를 자동으로 확인하고 각 링크를 유효함 또는 잘못됨으로 표시합니다.
로그에 링크 검사기 경고 수가 너무 많아져서 인스턴스 또는 사이트 속도가 느려질 수 있습니다. 일부 링크 검사를 비활성화하는 결정을 내릴 수 있습니다.
참고: 링크 검사기는 게시 인스턴스에 대해 활성화하면 안 됩니다.
해결 방법 resolution
AEM에서 링크 검사기를 비활성화하거나 구성하여 유효한 링크로 표시하는 방법
-
페이지에서 링크 검사를 비활성화합니다.
-
추가
x-cq-linkchecker="valid"
의 매개 변수 태그 링크 검사기에서 링크를 항상 유효한 것으로 표시했는지 확인 -
필요한 경우
x-cq-linkchecker="skip"
다음에서 태그 링크 검사기는 유효성 검사도 하지 않습니다.
-
-
를 통해 링크 검사기를 완전히 비활성화합니다 AEM 웹 콘솔:
-
AEM 웹 콘솔 구성 1에 액세스합니다.
-
검색 대상 일별 CQ 링크 검사기 변환기.
-
다음 확인: 확인 비활성화 확인란을 선택하고 저장을 클릭합니다.
-
-
특정 도메인에 대한 링크 검사 비활성화:
-
AEM 웹 콘솔 구성 1에 액세스합니다.
-
검색 대상 일별 CQ 링크 검사기 서비스.
-
편집 링크 검사 재정의 패턴 매개 변수.
-
예 1: system/
시스템으로 시작하는 모든 외부 링크는 검사되지 않습니다. +를 클릭하여 이 섹션에 추가 무시 패턴을 추가합니다.
예제 2:
이렇게 하면 모든 링크가 앞으로 이동할 수 있는 유효한 링크로 표시됩니다.
추천: 링크 검사기에서 URL을 다시 확인하지 않도록 /var/linkchecker 아래의 모든 노드를 삭제합니다.
{1}http://[
호스트]
:[
포트]
/system/console/configMgr
참고: service.special_link_patterns를 사용하는 경우 링크 검사기는 여전히 URL을 확인하여 문자 및 구조 측면에서 유효한지 확인합니다.
외부 링크 검사를 프로그래밍 방식으로 비활성화
페이지 구성 요소 jsp에 이 코드를 추가하면 style="background:transparent; color:#0e101a; margin-bottom:0pt; margin-top:0pt"를 호출하여 외부 링크 확인이 수행되지 않습니다.>
LinkCheckerSettings.fromRequest(slingRequest).setIgnoreExternals(true
. 대부분의 경우 작성자가 아닌 게시 인스턴스에서만 구현합니다. 다음은 이를 보여 주는 몇 가지 코드입니다.
`<` %org.apache.sling.runmode.RunMode runmode = sling.getService(org.apache.sling.runmode.RunMode.class);
String`[` `]` runmodes = runmode.getCurrentRunModes();
boolean isPublish = false;
String `[` `]` expectedRunModes = {"publish"};
if(runmode.isActive(expectedRunModes)) {
isPublish = true;
}
if(isPublish) {
LinkCheckerSettings s = LinkCheckerSettings.fromRequest(slingRequest);
s.setIgnoreExternals(true);
}
%`>`
특정 구성 요소 또는 페이지 일부에 대한 링크 검사만 비활성화하려면 다음 코드를 사용하여 다시 활성화할 수 있습니다.
`<` %
s.setIgnoreExternals(false);
%