Aem 如何映射URL?
我想将Aem 如何映射URL?,aem,sling,Aem,Sling,我想将domain/content/myProject/home.html等页面映射到domain/home.html/content/myProject/。我有以下代码: String newpath = getResourceResolver().map(page.getPath()); 这不会改变任何事情。新路径是停留在page.getPath() 如何解决此问题?您需要在etc中创建映射。然后,资源解析程序将负责修剪路径 在AEM中创建映射定义 在AEM的标准安装中,您可以找到以下文
domain/content/myProject/home.html
等页面映射到domain/home.html
<不需要代码>/content/myProject/。我有以下代码:
String newpath = getResourceResolver().map(page.getPath());
这不会改变任何事情。新路径是停留在page.getPath()
如何解决此问题?您需要在etc中创建映射。然后,资源解析程序将负责修剪路径 在AEM中创建映射定义 在AEM的标准安装中,您可以找到以下文件夹: /etc/map/http 这是定义HTTP协议映射时使用的结构。可以在/etc/map下为要映射的任何其他协议创建其他文件夹(sling:Folder)。 配置指向/内容的内部重定向 要创建以/content作为任何请求前缀的映射,请执行以下操作:
姓名:match
类型字符串
值localhost.4503/
名称:internalRedirect
类型字符串
价值/内容/
单击全部保存。
这将处理以下请求: localhost:4503/geometrixx/en/products.html 仿佛:
localhost:4503/content/geometricxx/en/products.html 已提出要求。
有关更多文档,请参阅此处
回答这个问题,因为它仍然没有答案。以下是etc映射的示例: 诀窍是向sling添加两个条目:internalRedirect as/和/content/example/ AEM首先尝试使用第一个条目“/”解析资源。因此,像/etc/designs、/content/dam等非页面URL将由第一个条目寻址。如果无法使用第一个条目解析,则使用第二个条目解析页面
与ApacheRedirect等其他技术相比,这也是adobe推荐的URL缩短方法 您是否将映射设置为“/etc/map/http”?如Sarath所述,您是否将映射设置为/etc/map/http或OSGi中的资源解析程序工厂的URL映射。如果它只与主页相关,您还可以在页面属性中使用虚荣路径。这将重定向所有内容,包括/etc/designs和/content/dam,这些都将无法解决。