Csaba Varga created SLING-11352:
-----------------------------------

             Summary: Cannot create path-only mapping rule in /etc/map
                 Key: SLING-11352
                 URL: https://issues.apache.org/jira/browse/SLING-11352
             Project: Sling
          Issue Type: Bug
          Components: ResourceResolver
    Affects Versions: Resource Resolver 1.8.4
            Reporter: Csaba Varga


I am trying to set up a mapping to make some of our site hierarchy appear on a 
different URL than what would be dictated by the hierarchy. My goal is to map 
the path /content/mycompany/locales/some_locale/sectionA to the URL 
/some_locale/sectionB . (I don't want to override the protocol, host and port 
fields.) Because we support multiple locales, I need to use a regex for setting 
up the matches. Here is my original attempt:
{code:java}
/etc/map/my_mapping
     +-- sling:internalRedirect = /content/mycompany/locales/([-a-z]+)/sectionA
     +-- sling:match = /$1/sectionB{code}
When this node is present, /content/mycompany/locales/en-us/sectionA/foo gets 
mapped to en-us://sectionB/foo instead of the intended /en-us/sectionB/foo.

I can work around the issue by avoiding forward slashes in sling:match, but 
this is ugly and unclear :
{code:java}
/etc/map/my_mapping
     +-- sling:internalRedirect = 
/content/mycompany/locales/([-a-z]+)(/)sectionA
     +-- sling:match = /$1$2sectionB {code}
Is this kind of mapping supported at all? I would rather avoid adding the 
hostname to mapping rules because it is environment-specific.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to