AEM adds ‘.html’ to the Redirect URL of Internal Pages

The article addresses the issue where AEM adds ‘.html’ to the redirect URL of internal pages. This occurs if the redirect target is a space within the same AEM.

Description description

Environment
Experience Manager

Issue/Symptoms
AEM adds .html to the URL fragment (or anchor, the last part of the URL starting from #). For example:

/content/we-retail/us/en/men.html#FEATURED -> /content/we-retail/us/en/men.html#FEATURED.html

Steps to reproduce:
1-Create a new content page page1 under /content/we-retail.
2-Select page1 > Properties.
3-In Advanced tab > 'Redirect' field, set '/content/we-retail/us/en/men.html#FEATURED'.
4-Access page1 with 'View as Published'.
$  curl -v -u admin:admin http://localhost:6402/content/we-retail/page1.html?wcmmode=disabled
* About to connect() to localhost port 6402 (#0)
...
>
< HTTP/1.1 302 Found
< Date: Mon, 29 Jun 2020 08:21:19 GMT
< X-Content-Type-Options: nosniff
< Content-Type: text/html;charset=utf-8
< Location: http://localhost:6402/content/we-retail/us/en/men.html#FEATURED.html?wcmmode=disabled
< Content-Length: 0
<
* Connection #0 to host localhost left intact

Resolution resolution

This is a hard-coded behavior. The com.day.cq.wcm.foundation.impl.PageRedirectServlet#doGet is adding .html to the redirect URL if the redirect target is a space within the same AEM.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f