I have a problem with AEM links rewriting. I have a set of mappings that works correctly for my site. All links in content are mapped nad works fine.
The problem happened when my component (for example core components RTE) links to a page that is not published. In that case link is not mapped and I can see in cached HTML file that the link is `/content/my-site./en/not-existing` isntead of `/en/not-existing`. When I publish `not-existign` page and clear cache link is correctly mapped.
Is that a new feature of AEM / Sling mappings? Can I change that ? I would like to avoid having unmapped links even if they points to 404 page.
Link checker transformer config:
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
Hi @bartek_887, I did quick check on my local AEM instance. I was able to configure sling mappings in the way, that all the links including the one that are pointing to not existing pages are correctly mapped/rewritten. I have used OOTB we-retail for that exercise.
Below is the mapping configuration I have tested. I have also used exactly the same Day CQ Link Checker Transformer to the one you have provided in your message.
<?xml version="1.0" encoding="UTF-8"?> <jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" jcr:primaryType="sling:Mapping" sling:internalRedirect="[/content/we-retail/us/en]"> <redirect jcr:primaryType="sling:Mapping" sling:internalRedirect="[/content/we-retail/us/en/$1,/$1]" sling:match="(.+)$"/> </jcr:root>
Alternatively you can consider to enable checking functionality of Link Checker, in that case broken/not existing links will not be shown at all. To do this you need to change linkcheckertransformer.disableChecking to false.
Could you please let me know what exactly did you check? It seems that this problem is related to `.html` extension in the mapped link. Behaviour I noticed: