Aem 如何找出是什么导致某个URL解析为合成资源?
在我的AdobeCQ5(CQ5.6)安装中,出于某种原因,有一个URL(Aem 如何找出是什么导致某个URL解析为合成资源?,aem,jcr,sling,Aem,Jcr,Sling,在我的AdobeCQ5(CQ5.6)安装中,出于某种原因,有一个URL(http://localhost:4503/services)正在解析为合成资源: 这导致CQ显示以下页面,而不是404页面未找到页面: 导致此行为的原因是什么?您会得到禁止的错误,这不是因为/services的奇怪类型,而是因为您没有添加任何扩展名(请求/content/geometryxx时会得到相同的结果)。让我们尝试添加一些扩展:.html实际上不起作用,但是.infinity.tidy.json会带来有趣的发现
http://localhost:4503/services
)正在解析为合成资源:
这导致CQ显示以下页面,而不是404页面未找到页面:
导致此行为的原因是什么?您会得到
禁止的错误,这不是因为/services
的奇怪类型,而是因为您没有添加任何扩展名(请求/content/geometryxx
时会得到相同的结果)。让我们尝试添加一些扩展:.html
实际上不起作用,但是.infinity.tidy.json
会带来有趣的发现:
{
"tagfilter": {
"sling:resourceType": "/services/tagfilter.servlet",
"servletClass": "com.adobe.cq.social.commons.impl.servlets.TagFilterServlet",
"sling:resourceSuperType": "sling/bundle/resource",
"servletName": "com.adobe.cq.social.commons.impl.servlets.TagFilterServlet"
},
"tagfilter.servlet": {
"sling:resourceType": "/services/tagfilter.servlet",
"servletClass": "com.adobe.cq.social.commons.impl.servlets.TagFilterServlet",
"sling:resourceSuperType": "sling/bundle/resource",
"servletName": "com.adobe.cq.social.commons.impl.servlets.TagFilterServlet"
},
...
似乎/services
是一个虚拟(或者说,合成)路径,是servlet的父路径。事实上,您不能将servlet绑定到任何路径,最流行的选择是/bin
前缀,但是/services
也是可能的。您将在ApacheSlingServlet/Script解析器和错误处理程序的OSGi配置中找到所有此类路径的列表