Sling Reverse Mapping ignoring parameters and special characters like # | Community
Skip to main content
nivazdeent97086
Level 2
August 13, 2018
Solved

Sling Reverse Mapping ignoring parameters and special characters like #

  • August 13, 2018
  • 9 replies
  • 3973 views

Hi,

I tried using sling reverse mapping to convert my outbound internal URL. URL is getting converted properly but parameters(?#etc) are getting removed.

For Example

+slingMapping

                    +sling:match:localhost.4602/(experience)

                      sling:internalRedirect:/content/we-retail/ca/en/$1

Inbound Request URL :http://localhost:4602/experience/summit-success-in-the-himalayas.html is resolving me successfully to the resource at /content/we-retail/ca/en/experience/summit-success-in-the-himalayas

But the outbound configured Link URL /content/we-retail/ca/en/experience/summit-success-in-the-himalayas.html#abcd is getting converted as http://localhost:4602/experience/summit-success-in-the-himalayas.html by shredding #abcd. Is this the expected behavior. If not how can we resolve this ?

Regards,

Nivazdeen.

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by arunpatidar

Hi,

I checked again, For me I am able to convert links into short links using sling mapping but for me It is working as expected in AEM 6.3

Link Created from OOTB Text Component

OUTPUT

Thanks
Arun

9 replies

arunpatidar
Community Advisor
Community Advisor
August 13, 2018

Hi,

How are you converting outbound url /content/we-retail/ca/en/experience/summit-success-in-the-himalayas.html#abcd to inbound(short Url)?

Arun Patidar
nivazdeent97086
Level 2
August 13, 2018

Hi,

The reverse mapping happens automatically because of the configuration applied for sling mapping. No explicit reverse mapping configuration.

Regards,

Nivazdeen

smacdonald2008
Level 10
August 13, 2018

Can you point to online docs where this is stated as a valid use case please.

nivazdeent97086
Level 2
August 13, 2018

Hi Mac,

This use case is my project requirement. We have internal links with #identifier appended at the end. The links are getting converted properly but the #identifier at the end is getting truncated.

For Example. I have a image with URL. The URL is internal path and i configured like /content/abc.html#identifier. Once the page gets loaded the internal URL is getting mapped to http://domain/abc.html truncating the #identifier.

Regards,

Nivazdeen

arunpatidar
Community Advisor
Community Advisor
August 13, 2018

Hi,

I think the conversion is not automatic. you can access your image using both URLs. I don't understand how on page load /content/abc.html#identifier is converting into http://domain/abc.html

Are you using Sling Output Rewrite or you are manipulating path from components code?

It would be great if you can point us to the docs from where your are referring this?

Thanks

Arun

Arun Patidar
nivazdeent97086
Level 2
August 13, 2018

Hi,

The reverse mapping happens automatically following the resolve rules. I have mentioned the configuration which i used in the original question. I am not using sling output rewrite and not manipulating through component code.

Below is the link for the reference

Apache Sling :: Mappings for Resource Resolution

Regards,

Nivazdeen.

arunpatidar
Community Advisor
arunpatidarCommunity AdvisorAccepted solution
Community Advisor
August 14, 2018

Hi,

I checked again, For me I am able to convert links into short links using sling mapping but for me It is working as expected in AEM 6.3

Link Created from OOTB Text Component

OUTPUT

Thanks
Arun

Arun Patidar
nivazdeent97086
Level 2
August 17, 2018

Hi Arun,

I checked in vanilla instance and it is working for me. Later analyzed that there is a Rewriter service(org.apache.sling.rewriter) from master project affecting mine. Apologies for the confusion.

Regards,

Nivazdeen.

Level 2
November 16, 2018

HI Nivazdeen,

How did you find out this rewriter service? I am also facing same issue.