Adobe 如何使CQ5使用.htm扩展名而不是.html?

Adobe 如何使CQ5使用.htm扩展名而不是.html?,adobe,aem,Adobe,Aem,我正在将一个巨大的网站从MS CMS 2002转换为Adobe CQ5。在现有CMS中,所有页面都以.htm扩展名引用。当我在CQ5中创建一个新页面时,它总是有.html扩展名。有没有办法强制CQ5对页面使用.htm扩展名?可以在名为SlingServletResolver的OSGi服务配置中修改呈现内容的默认扩展名列表。要更改它,请打开以下路径: /system/console/configMgr/org.apache.sling.servlets.resolver.SlingServletR

我正在将一个巨大的网站从MS CMS 2002转换为Adobe CQ5。在现有CMS中,所有页面都以.htm扩展名引用。当我在CQ5中创建一个新页面时,它总是有.html扩展名。有没有办法强制CQ5对页面使用.htm扩展名?

可以在名为
SlingServletResolver
的OSGi服务配置中修改呈现内容的默认扩展名列表。要更改它,请打开以下路径:

/system/console/configMgr/org.apache.sling.servlets.resolver.SlingServletResolver

在CQ安装中,将
htm
添加到最后一个选项(默认扩展名)。您还可以使用自动配置服务。

Tomek为该问题提供了最佳解决方案。但是,此解决方案将更改所有页面的扩展类型。如果您希望另一个解决方案以特定页面为目标,那么以下是解决方案:

通过将此文件复制到apps文件夹,覆盖/libs/foundation/components/page的head.jsp,并在其中指定内容类型和content=“text/htm”。
现在,您必须将此组件称为每个组件或模板的超级资源类型,无论您想要htm或任何其他扩展。

除了其他答案之外,另一种方法是创建从htm到新html页面的内部重定向。您可以在/etc/map下创建一个吊索映射,该映射将重定向htm请求到html


关于配置吊索映射的信息可以在根级别映射->映射条目规范下找到,这不提供问题的答案。要评论或要求作者澄清,请在他们的帖子下方留下评论-你可以随时对自己的帖子发表评论,一旦你有足够的评论,你将成为一名作家可以。@vonPetrushev我没有足够的声望点(即50分)来评论其他人,所以我添加了这个答案。这个解决方案对我来说非常有效。只需添加“htm”“到SlingServletResolver的默认扩展名列表,使CQ5检索文件,而不管请求URL中使用的是.html还是.htm扩展名。不需要重定向或文件重命名!