Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.1.10
-
None
-
Blocker
-
Components: Sitemap
-
Components: Sitemap
Description
Hi cocoon developers,
I found the following problem with redirects within sub-sitemaps WHEN using the uri-prefix in map:mount...
Test case:
1) Sitemaps:
Root sitemap >>
...
<map:pipeline>
<map:match pattern="test/**">
<map:mount check-reload="yes" src="subsitemap.xmap" uri-prefix="test" /> </map:match>
</map:pipeline>
...<<
Sub sitemap >>
...
<map:match pattern="A.html">
<map:redirect-to uri="cocoon:/B.html"/>
</map:match>
<map:match pattern="B.html">
<map:redirect-to uri="http://www.google.com"/>
</map:match>
...<<
2) NOW: When you request "http://testserver/cocoon/test/A.html"...
you should get redirected to B.html WITHIN the sub sitemap (that's why we use 'cocoon:/B.html' and not 'cocoon://B.html')...
BUT the redirect does NOT work correctly, hence we will not get the google-site which would be the correct result.
3) The cocoon.log says: http-11080-Processor23/CocoonServlet: No pipeline matched request: test/B.html !!!
[So it seems to me that the uri-prefix from the sub-sitemap mount is added in the this redirect, which might be why it does not match then within the sub-sitemap.]
3) Important: This only goes wrong when using the uri-prefix[-remove] attribute in map:mount
I hope this detailed test case will be helpful to one of the cocoon gurus... I really would hate if I had to use redirects to the ROOT sitemap (that's not the idea of sub sitemaps).
Many thanks!!!
Robert
PS: Cocoon really rocks!
--
Have you tried iHOP yet? http://www.ihop-net.org/UniPub/iHOP/
I found the following problem with redirects within sub-sitemaps WHEN using the uri-prefix in map:mount...
Test case:
1) Sitemaps:
Root sitemap >>
...
<map:pipeline>
<map:match pattern="test/**">
<map:mount check-reload="yes" src="subsitemap.xmap" uri-prefix="test" /> </map:match>
</map:pipeline>
...<<
Sub sitemap >>
...
<map:match pattern="A.html">
<map:redirect-to uri="cocoon:/B.html"/>
</map:match>
<map:match pattern="B.html">
<map:redirect-to uri="http://www.google.com"/>
</map:match>
...<<
2) NOW: When you request "http://testserver/cocoon/test/A.html"...
you should get redirected to B.html WITHIN the sub sitemap (that's why we use 'cocoon:/B.html' and not 'cocoon://B.html')...
BUT the redirect does NOT work correctly, hence we will not get the google-site which would be the correct result.
3) The cocoon.log says: http-11080-Processor23/CocoonServlet: No pipeline matched request: test/B.html !!!
[So it seems to me that the uri-prefix from the sub-sitemap mount is added in the this redirect, which might be why it does not match then within the sub-sitemap.]
3) Important: This only goes wrong when using the uri-prefix[-remove] attribute in map:mount
I hope this detailed test case will be helpful to one of the cocoon gurus... I really would hate if I had to use redirects to the ROOT sitemap (that's not the idea of sub sitemaps).
Many thanks!!!
Robert
PS: Cocoon really rocks!
--
Have you tried iHOP yet? http://www.ihop-net.org/UniPub/iHOP/