Expand my Community achievements bar.

Adobe Summit 2025: AEM Session Recordings Are Live! Missed a session or want to revisit your favorites? Watch the latest recordings now.

Mark Solution

This conversation has been locked due to inactivity. Please create a new post.

SOLVED

etc.map for assets causing problems.

Avatar

Level 7

I am putting together an example with the AEM 6.5, we.retail, etc.mappings, with the configurations below. The HTML routing is working correctly and removal of .html extension also works, but or some reason all the images, /etc.clientlibs, JS & CSS, JSON files are all 404 not found after implementation. Is there something in etc.mappings where I can disable sling mappings for assets?

AEMWizard_0-1610056636816.png

Configuration:

 

 

{

    "jcr:primaryType": "sling:Folder",
    "weretail.com": {
        "jcr:primaryType": "sling:Mapping",
        "sling:internalRedirect": [
            "/content/we-retail/us/en"
        ],
        "weretail_com_content": {
            "jcr:primaryType": "sling:Mapping",
            "sling:match": "(.+)$",
            "sling:internalRedirect": [
                "/content/we-retail/us/en/$1",
                "/$1"
            ]
        },
        "reverse_mapping_content": {
            "jcr:primaryType": "sling:Mapping",
            "sling:match": "$1",
            "sling:internalRedirect": [
                "/content/we-retail/us/en/(.*).html"
            ]
        },
        "reverse_mapping_content_nohtml": {
            "jcr:primaryType": "sling:Mapping",
            "sling:match": "$1",
            "sling:internalRedirect": [
                "/content/we-retail/us/en/(.*)"
            ]
        },
        "reverse_mapping_root": {
            "jcr:primaryType": "sling:Mapping",
            "sling:match": "$",
            "sling:internalRedirect": [
                "/content/we-retail/us/en(.html)?"
            ]
        }
    },
    "weretail_com_root": {
        "jcr:primaryType": "sling:Mapping",
        "sling:match": "weretail.com$",
        "sling:internalRedirect": [
            "/content/we-retail/us/en.html"
        ]
    }
}

 

 

Thanks

 

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

You may need to change the below rule

Below rule matches everything .html, js, css ... and mapping to /content/we-retailt......

"sling:match": "(.+)$",

you can restrict this only for html

 

"sling:match": "(.+).html$",
"sling:internalRedirect": [
      "/content/we-retail/us/en/$1.html",
      "/$1"
]

 

 

 

Arun Patidar

AEM LinksLinkedIn

View solution in original post

3 Replies

Avatar

Employee Advisor

You can use localhost:4502/system/console/jcrresolver to check the resolution of these URLS. Unfortunately I don't see from the screenshot what path these clientlib requests are using.

Avatar

Correct answer by
Community Advisor

You may need to change the below rule

Below rule matches everything .html, js, css ... and mapping to /content/we-retailt......

"sling:match": "(.+)$",

you can restrict this only for html

 

"sling:match": "(.+).html$",
"sling:internalRedirect": [
      "/content/we-retail/us/en/$1.html",
      "/$1"
]

 

 

 

Arun Patidar

AEM LinksLinkedIn

Avatar

Level 7
This works, however, the we-retail project has images stored in /content/we-retail/*... had to put in custom configuration to resolve the issue.