Hi, all.
For the requirement I am currently working on we do need to have vanity URLs that include extensions, so we can maintain the same address from the current site when migration to AEM is complete (ex.: the vanity URL should be /foo/bar/foobar.aspx). But we could verify while testing that vanity URLs with extensions are not handled the way we expected, as the extension is meaningful to AEM to resolve how to render a given content.
Do you have any recommendations to this case? I'd like not to use a solution on the Apache leve (eg.: use mod-rewrite for removing the extension from the URL)?
The exception I get when I set the vanity URL "foo/bar/foobar.aspx" to a page is displayed below:
Cannot serve request to /foo/bar/foobar.aspx in org.apache.sling.servlets.get.DefaultGetServlet
Request Progress:
0 (2014-01-14 13:48:43) TIMER_START{Request Processing}
0 (2014-01-14 13:48:43) COMMENT timer_end format is {<elapsed msec>,<timer name>} <optional message>
0 (2014-01-14 13:48:43) LOG Method=GET, PathInfo=/foo/bar/foobar.aspx
0 (2014-01-14 13:48:43) TIMER_START{ResourceResolution}
0 (2014-01-14 13:48:43) TIMER_END{0,ResourceResolution} URI=/foo/bar/foobar.aspx resolves to Resource=JcrNodeResource, type=cq:Page, superType=null, path=/content/geometrixx-media/en
0 (2014-01-14 13:48:43) LOG Resource Path Info: SlingRequestPathInfo: path='/content/geometrixx-media/en', selectorString='null', extension='aspx', suffix='null'
0 (2014-01-14 13:48:43) TIMER_START{ServletResolution}
Regards,
Rafael
Solved! Go to Solution.
Views
Replies
Total Likes
One option would be to use /etc/map to do an internal Sling redirect from .aspx to .html, but I am not sure how that would play with the vanity URL. You'd have to test that out and see if you needed the vanity URL to be .aspx or .html after the internal redirect. Also to make sure that one wouldn't just override the other.
If /etc/map doesn't work then you options I think are fairly limited. One of option I can think of that is sort of a hack but it would probably work:
I have never done that so I won't guarantee that you won't run into other problems but it will get your past your first problem. Unfortunately doing something at the Apache layer is probably your best solution to the problem.
Views
Replies
Total Likes
One option would be to use /etc/map to do an internal Sling redirect from .aspx to .html, but I am not sure how that would play with the vanity URL. You'd have to test that out and see if you needed the vanity URL to be .aspx or .html after the internal redirect. Also to make sure that one wouldn't just override the other.
If /etc/map doesn't work then you options I think are fairly limited. One of option I can think of that is sort of a hack but it would probably work:
I have never done that so I won't guarantee that you won't run into other problems but it will get your past your first problem. Unfortunately doing something at the Apache layer is probably your best solution to the problem.
Views
Replies
Total Likes
Hi,
this sounds a bit hard to do, because vanity URLs are suppossed to have no extension. The trick orotas proposed does work when you have a file and you just need to have a different extension, so when your old URL is "/content/foo.aspx" and the new one "/content/foo.html" (and even then I would do a permanent redirect, so the new URL is picked up).
You probably need to cut off the extension first and then handle the remaining part via the standard vanity URL mechanism. Sling mapping could to the cut off part, although I haven't tried this specific trick with it.
Jörg
Views
Replies
Total Likes
Hi, Orotas and Jörg,
I've been playing with the /etc/map before, with no luck.
I'll try the hack proposed by Orotas, and report back in here if it works (or not) as soon as I finish it.
Regards.
Views
Replies
Total Likes