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>