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>

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