Etapas para ignorar a validação de URL para caracteres especiais no LinkChecker

Saiba como ignorar a validação de URL para caracteres especiais no LinkChecker usando um atributo para manter o link intacto.

Descrição description

Ambiente

  • AEM as a Cloud Service
  • AEM 6.5.17

Problema/Sintomas


Um componente personalizado é necessário para renderizar um link que contém caracteres especiais inválidos para um URL. Mesmo que a opção Desabilitar Verificação na configuração do LinkChecker esteja definida como true, o LinkChecker ainda validará e removerá o link do HTML renderizado.





Por exemplo:

Um link que inclui os caracteres {" e "} que não são válidos para uma URL.

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

O LinkChecker removerá o link do HTML renderizado

<span>>TEST URL</span>

Uma URISyntaxException está conectada no error.log como consequência desse processo de validação.

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}

Resolução resolution

Adicione o atributo x-cq-linkchecker="skip" ao link no respectivo componente HTL (HTML Template Language). Esse atributo instrui o LinkChecker a ignorar completamente a validação do URL.

Por exemplo:

Se um link usar os caracteres {" e "} inválidos em uma URL.
< span><a x-cq-linkchecker="skip" href="{testURL}">TEST URL</a></span>

Ele (link) permanece no HTML renderizado.
< span><a x-cq-linkchecker="skip" href="{testURL}">TEST URL</a></span>

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