Steg för att åsidosätta URL-validering för specialtecken i LinkChecker
Lär dig hur du åsidosätter URL-validering för specialtecken i LinkChecker genom att använda ett attribut för att behålla länken intakt.
Beskrivning description
Miljö
- AEM as a Cloud Service
- AEM 6.5.17
Problem/symtom
En anpassad komponent behövs för att återge en länk som innehåller specialtecken som är ogiltiga för en URL. Även om alternativet Inaktivera kontroll i LinkChecker-konfigurationen är true validerar och tar LinkChecker fortfarande bort länken från den återgivna HTML.
Till exempel:
En länk som innehåller tecknen { och som inte är giltiga för en URL.
<span><a href="{testURL}">TEST URL</a></span>
LinkChecker tar bort länken från det återgivna HTML
<span>>TEST URL</span>
Ett URISyntaxException loggas sedan in error.log som en konsekvens av den här valideringsprocessen.
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}
Upplösning resolution
Lägg till attributet x-cq-linkchecker="skip" i länken i respektive HTML-komponent (HTML Template Language). Det här attributet instruerar LinkChecker att helt åsidosätta URL-valideringen.
Exempel:
Om en länk använder tecknen { och som är ogiltiga i en URL.< span><a x-cq-linkchecker="skip" href="{testURL}">TEST URL</a></span>
Den (länken) finns kvar i det återgivna HTML.< span><a x-cq-linkchecker="skip" href="{testURL}">TEST URL</a></span>