Skip to main content
Level 2
Sep 1, 2019 4:18 PM UTC
Solved

AEM internal Redirect and Resolve nested content

Hi,

I have the below content structure.

- site

          - de

                   - category1

                             - 2001

                                   - quarter1

                                        - blog_about_vegan

                                        - blog_about_flowers

                                   - quarter2

                                        - blog_about_something

                             - 2002

                                   - quarter1

                                        - blog_about_vegan

                                        - blog_about_flowers

                                   - quarter2

                                        - blog_about_something

I want customers to use shorthand urls. For instance; Customer should get blog_about_vegan when he tries the following url : https://www.somedomain.com/site/de/category1/blog_about_vegan. He should not be worried about the year and quarter as they are just meant for categorization.

I have configured sling mappings in /etc/map to remap the url to search for content in /content. But i am not able to figure out how can I ask sling to look into all year and quarter folders for a particular category to find this article. something like a dynamic internal redirect with nested search capability. could you please advice

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
user05162Accepted solution
Employee
Sep 2, 2019 11:27 PM UTC

I believe you need to use dynamic redirects which can be implemented at the apache level(mod_rewrite module). Check [1] for more details:

https://stackoverflow.com/questions/41745351/how-to-redirect-multiple-dynamic-urls-with-apache 

9 replies

Level 2
Sep 5, 2019 3:12 PM UTC

Hi,

Which page should be displayed if user entered the url  /quarter1/blog_about_vegan ?

2001/quarter1/blog_about_vegan

Or

2002/quarter1/blog_about_vegan

Translate
joerghoh
Employee
Sep 3, 2019 8:45 PM UTC

I would not recommend to use filters to change the resource in the request; might work, but it's not really intuitive and also heavily depends on the order of the filters. Maybe a custom resource provider is more in line with Sling and could help here. It's also more generic and works then with all resource-based functionality of sling, and is not tied to a request.

Jörg

Translate
Gaurav-Behl
Level 10
Sep 3, 2019 1:46 PM UTC

If I'm not wrong, a combination of Sling Filters and Processors might work for this use case.

Translate
Level 2
Sep 3, 2019 9:10 AM UTC

I tried these configurations. But I cannot make it work for the year and quarter parts of the url which are unknown and supposed to be dynamic

Translate
Level 2
Sep 3, 2019 9:09 AM UTC

I cannot do this because I will be ambiguos of the path that i need to redirect at dispatcher

Translate
Level 2
Sep 3, 2019 9:08 AM UTC

I could use Vanity url as a solution. But Either the author have to manually add Vanity url for each page, which i dont want or I have to dynamically generate a vanity url based on the parent path and set it in workflow step.

But I was moreover looking to do this as a configuration in sling mapping.

Translate
user05162Accepted solution
Employee
Sep 2, 2019 11:27 PM UTC

I believe you need to use dynamic redirects which can be implemented at the apache level(mod_rewrite module). Check [1] for more details:

https://stackoverflow.com/questions/41745351/how-to-redirect-multiple-dynamic-urls-with-apache 

Translate
Employee
Sep 2, 2019 5:27 PM UTC

Check the following document about resource mapping to define redirects, vanity URLs and virtual hosts for AEM.

Resource Mapping

Translate
arunpatidar
New Participant
Sep 2, 2019 12:13 PM UTC

why don't you use vanity url in this case?

Translate
Arun Patidar