Dispatcher Doubt Regarding Mod Rewrite | Community
Skip to main content
binoyp6992037
Level 2
June 21, 2021
Solved

Dispatcher Doubt Regarding Mod Rewrite

  • June 21, 2021
  • 3 replies
  • 2032 views

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?
This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by BimmiSo

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.

3 replies

shelly-goel
Adobe Employee
Adobe Employee
June 21, 2021

@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

binoyp6992037
Level 2
June 24, 2021
Level 2
June 22, 2021

-

BimmiSoAdobe EmployeeAccepted solution
Adobe Employee
June 22, 2021

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.

binoyp6992037
Level 2
June 24, 2021
Thanks a lot @bimmi_Sol