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

Dispatcher Doubt Regarding Mod Rewrite

Avatar

Level 2

Hi All,

 

I am exploring dispatcher rewrite rules and i'm fairly new to this.

<IfModule mod_rewrite.c>
#Enable this to debug the redirect logs
RewriteEngine on
 
# remove any trailing slash, if it's there.
RewriteRule ^(.+)/$ $1
 
#Shorten the URL
RewriteRule ^/content/we-retail/us/(.*).html$ $1.html [R,L]
#Map the root folder to the home page
RewriteRule ^/?$ en.html [R,L]
</IfModule>
 
The root path does resolve to en.html but it gives a 404 error instead of the internal redirect happening.
Is some additional configuration required for getting this working as expected?
Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

Here with the rewrite rule RewriteRule ^/?$ en.html  you have achieved the redirection on only dispatcher now there is one step which is left i.e. on publish environment you need to  go to /system/console/configMgr and open Apache Sling Resource Resolver Factory(org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl) and add in URL Mapping /content/we-retail/us/:/. Do not remove the already existing entry /:/ add after that. This is needed so that internally page can be  mapped to correct resource.

View solution in original post

5 Replies

Avatar

Employee Advisor

@binoyp6992037  You can either use sling mappings or configure Apache Sling Resource Resolver Factory for internal redirect to work

https://www.aemquickstart.in/2019/01/url-shortening-in-aem.html

Avatar

Correct answer by
Employee Advisor

Here with the rewrite rule RewriteRule ^/?$ en.html  you have achieved the redirection on only dispatcher now there is one step which is left i.e. on publish environment you need to  go to /system/console/configMgr and open Apache Sling Resource Resolver Factory(org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl) and add in URL Mapping /content/we-retail/us/:/. Do not remove the already existing entry /:/ add after that. This is needed so that internally page can be  mapped to correct resource.