Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

etc.map for assets causing problems.

Avatar

Level 6

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

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

Avatar

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