Url Shortening not working in AEM 6.4 dispatcher(Prod Server) | Community
Skip to main content
farahz913310
Level 2
Mar 20, 2019 11:45 AM UTC
Solved

Url Shortening not working in AEM 6.4 dispatcher(Prod Server)

Hi All,

I have  implemented  url shortening using Sling Mapping  in AEM 6.4.It works fine on  my dev author & publisher but  on production environment ,url doesnt get shortened in dispatcher.

Also  currently Link Transformer  Config in publisher  has  link  rewriting as disabled, will it the reason ,please confirm

Has anyone faced the same issue.

Thanks in advance.

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Gaurav-Behl
Gaurav-BehlAccepted solution
Level 10
Mar 21, 2019 2:46 PM UTC

For links in the body, enable Link Transformer Rewriter and test

For links in the browser's address bar, fix the rewrite rules in both apache and AEM:

1) Could you test the absolute link with 'map' feature under /system/console/jcrresolver and share the results from both prod and non-prod publish servers? -    e.g. https://www.domain.com/content/jca/en/page1.html

2) To shorten root url - http://www.domain.com/content/jca/page1.html to http://www.domain.com, implement a redirect rule in apache before pass through

RedirectMatch 301 (?i)^/(content/jca/page1.html)$ /         # This would only work for one use case only

13 replies

Gaurav-Behl
Gaurav-BehlAccepted solution
Level 10
Mar 21, 2019 2:46 PM UTC

For links in the body, enable Link Transformer Rewriter and test

For links in the browser's address bar, fix the rewrite rules in both apache and AEM:

1) Could you test the absolute link with 'map' feature under /system/console/jcrresolver and share the results from both prod and non-prod publish servers? -    e.g. https://www.domain.com/content/jca/en/page1.html

2) To shorten root url - http://www.domain.com/content/jca/page1.html to http://www.domain.com, implement a redirect rule in apache before pass through

RedirectMatch 301 (?i)^/(content/jca/page1.html)$ /         # This would only work for one use case only

Translate
farahz913310
Level 2
Mar 20, 2019 8:56 PM UTC

Yes ,I do have this too .

Translate
Gaurav-Behl
Level 10
Mar 20, 2019 8:52 PM UTC

Probably you have a valid use case for using two domains for the same content tree but that's a separate topic.

The urls are not shortened for root page or children pages?

I see two entries here for domain mapping, what about the other rule for children pages of '/content/jca'. There must be another entry in  jcrresolver or otherwise in apache redirects.

This rule would take care of shortening children pages-

^http/abc.domain.com.80/delta/(.+)$/content/jca/$1
/$1
nternal
Translate
farahz913310
Level 2
Mar 20, 2019 8:36 PM UTC

I have '/content/jca' only .

I removed the uat1 from prod ,sling mapping still does not work. Both domains are for prod server only. But still even after removing uat1 , it didnt work.

URLs are still not shortened.

Also i see this error in publisher logs : Not sure if its related

Translate
chandu_t
Level 3
Mar 20, 2019 4:37 PM UTC

Sling Mapping will work even if Rewriting is disabled in Transformer which is why ur short url is working when u hit in browser, but updating content full urls to short urls will not work in html source. For other project its working, reason might be they have a custom rewriter written in other project which implements TransformerFactory. So you need to update setting of other custom rewriter for new project.

Translate
Gaurav-Behl
Level 10
Mar 20, 2019 4:28 PM UTC

How is '/content/myapp' related to '/content/jca'?

Why do you have two replacement domains defined for a single pattern? I assume you have a way to control which one should be applied on what environment? If not, then that is your problem. You could remove "uat1" and test in prod or remove "www" in uat environment and test.

Translate
farahz913310
Level 2
Mar 20, 2019 4:24 PM UTC

So you mean  Sling Mapping only works if Link Rewriting is enabled?

Translate
chandu_t
Level 3
Mar 20, 2019 4:21 PM UTC

They might be using a custom Transformer implemented in other project. You can check that.

Translate
farahz913310
Level 2
Mar 20, 2019 3:45 PM UTC

On jcrresolver ,i see my rules are added

In the access log ,i see the request is going for complete path .

Below are the rewrite rules ,I have in dispatcher config :

Use Case is to prevent exposing "/content/myapp/" from URLS  for SEO purpose.

Translate
farahz913310
Level 2
Mar 20, 2019 3:36 PM UTC

Yes when i hit the shorten url ,it works . But all  urls (links on Navigation etc) on dispatcher  are not getting shortened by default .

Currently Link rewriting is disabled on publisher since in one of the other project ,it works even with disabling link rewriting

Translate