Reverse Mapping in /etc/map

Avatar

Avatar

ignacio_mancill

Avatar

ignacio_mancill

ignacio_mancill

20-09-2018

Hi there,

We have a request where we are using etc/map for rewrite URLs of our site but now we need to have a reverse mapping in order to get the valid path to show in all links in the site.

Our Sling mapping (not reverse) is the next one:

sling:internalRedirect

String

/content/site/es/es/$1.html

sling:match

String

localhost.4502/es/(.*)$

Now, we are trying to get the inverse, when resolving the url by /content/site/es/es/page we need to have the domain/es/page with

getResourceResolver().map(resourcePath)

e.g. localhost:4502/es/folder/page serves the content of /content/site/es/es/folder/page. This behavior is ok.

The issue is that every href in the page (fetched by resource resolver) are invalid links serving:  /content/site/es/es/folderx/pagex and not: localhost:4502/es/folderx/pagex

Do you have any idea how to create these reverse rules or if we are thinking on the correct way to have valid links in the site?

Regards.

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar

Arun_Patidar

MVP

Total Posts

3.0K

Likes

1.1K

Correct Reply

861

Avatar

Arun_Patidar

MVP

Total Posts

3.0K

Likes

1.1K

Correct Reply

861
Arun_Patidar
MVP

20-09-2018

Hi,

you can try to create new node in /etc/map with below value for reverse mapping.

sling:internalRedirect

String

/content/site/es/es/(.*).html

sling:match

String

localhost.4502/es/$1

I am not sure what is your use case here, if you are just creating shortened url then you can create reverse mapping like above and to map short urls to actual content you can create mapping.

Answers (0)