Schritte zum Umgehen der URL-Validierung für Sonderzeichen im LinkChecker

Erfahren Sie, wie Sie die URL-Validierung für Sonderzeichen im LinkChecker umgehen können, indem Sie ein -Attribut verwenden, um den Link intakt zu halten.

Beschreibung description

Umgebung

  • AEM as a Cloud Service
  • AEM 6.5.17

Problem/Symptome


Eine benutzerdefinierte Komponente ist erforderlich, um einen Link zu rendern, der Sonderzeichen enthält, die für eine URL ungültig sind. Auch wenn die Option Überprüfung deaktivieren in der LinkChecker-Konfiguration auf „true“ gesetzt ist, validiert und entfernt LinkChecker den Link weiterhin von der gerenderten HTML.





Beispiel:

Ein Link, der die Zeichen enthält {" und "}, für eine URL nicht gültig sind.

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

Der LinkChecker entfernt den Link von der gerenderten HTML

<span>>TEST URL</span>

Als dieses Validierungsprozesses wird dann URISyntaxException) in error.log protokolliert.

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}

Auflösung resolution

Fügen Sie dem Link in der entsprechenden HTL-Komponente (HTML Template Language) das x-cq-linkchecker="skip"-Attribut hinzu. Dieses Attribut weist den LinkChecker an, die URL-Validierung vollständig zu umgehen.

z. B.:

Wenn eine Relation die Zeichen "{" "} verwendet, die in einer URL ungültig sind.
< span><a x-cq-linkchecker="skip" href="{testURL}">TEST URL</a></span>

Er (Link) verbleibt auf der gerenderten HTML.
< span><a x-cq-linkchecker="skip" href="{testURL}">TEST URL</a></span>

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