Procédure de contournement de la validation d’URL pour les caractères spéciaux dans le vérificateur de liens
Découvrez comment contourner la validation d’URL pour les caractères spéciaux dans le vérificateur de liens en utilisant un attribut pour conserver le lien intact.
Description description
Environnement
- AEM as a Cloud Service
- AEM 6.5.17
Problème/Symptômes
Un composant personnalisé est nécessaire pour effectuer le rendu d’un lien contenant des caractères spéciaux non valides pour une URL. Même si l’option Désactiver le contrôle de la configuration LinkChecker est définie sur true, LinkChecker valide et supprime toujours le lien de l’HTML rendu.
Par exemple :
Un lien qui contient les caractères {" et "} non valides pour une URL.
<span><a href="{testURL}">TEST URL</a></span>
LinkChecker supprime le lien de l’HTML rendu
<span>>TEST URL</span>
Un URISyntaxException est alors connecté dans error.log en raison de ce processus de validation.
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}
Résolution resolution
Ajoutez l’attribut x-cq-linkchecker="skip" au lien dans le composant HTL (HTML Template Language) correspondant. Cet attribut indique à LinkChecker de contourner complètement la validation de l’URL.
Par exemple :
Si un lien utilise les caractères {" et "}" non valides dans une URL.< span><a x-cq-linkchecker="skip" href="{testURL}">TEST URL</a></span>
Il (lien) reste dans l’HTML rendu.< span><a x-cq-linkchecker="skip" href="{testURL}">TEST URL</a></span>