资源映射用于定义AEM的重定向、虚URL和虚拟主机。
例如,您可以将以下映射用于:
/content
前缀,以便隐藏网站访客的内部结构。/content/en/gateway
页面的请求都被重定向到https://gbiv.com/
。一个可能的HTTP映射用/content为localhost:4503的所有请求添加前缀。 此类映射可用于隐藏网站访客的内部结构,因为它允许:
localhost:4503/content/geometrixx/en/products.html
访问时:
localhost:4503/geometrixx/en/products.html
因为映射会自动将前缀/content
添加到/geometrixx/en/products.html
。
虚URL不支持正则表达式模式。
这些映射构成两个列表,JCR资源解析程序将对其进行评估(从上到下)以查找匹配项。
可以在Felix控制台的JCR ResourceResolver选项下查看这些列表(连同配置信息);例如,https://<host>:<port>/system/console/jcrresolver
:
配置
显示当前配置(如为Apache Sling资源解析程序定义)。
配置测试
这允许您输入URL或资源路径。 单击Resolve或Map以确认系统将如何转换条目。
解析程
序映射条目ResourceResolver.resolve方法用于将URL映射到资源的条目列表。
映射映
射条目ResourceResolver.map方法用于将资源路径映射到URL的条目列表。
这两个列表显示了各种条目,包括应用程序定义为默认值的条目。 这些URL通常旨在简化用户的URL。
该列表将与请求匹配的正则表达式Pattern与定义强制实施的重定向的Replacement配对。
例如:
图案 ^[^/]+/[^/]+/welcome$
将触发:
替换 /libs/cq/core/content/welcome.html
.
要重定向请求,请执行以下操作:
http://localhost:4503/welcome
到:
http://localhost:4503/libs/cq/core/content/welcome.html
将在存储库内创建新映射定义。
有许多资源可帮助解释如何定义正则表达式;例如https://www.regular-expressions.info/。
在AEM的标准安装中,您可以找到文件夹:
/etc/map/http
这是定义HTTP协议映射时使用的结构。 在/etc/map
下可为要映射的任何其他协议创建其他文件夹(sling:Folder
)。
要创建将任何请求添加到http://localhost:4503/的映射,请使用/content
:
使用CRXDE导航到/etc/map/http
。
创建新节点:
类型 sling:Mapping
此节点类型专门用于此类映射,但不强制使用。
名称 localhost_any
单击Save All。
将以下属性添加到此节点:
名称 sling:match
String
localhost.4503/
名称 sling:internalRedirect
String
/content/
单击Save All。
这将处理如下请求:
localhost:4503/geometrixx/en/products.html
假如:
localhost:4503/content/geometrixx/en/products.html
被要求。
请参阅Sling文档中的资源 ,以了解有关可用Sling属性以及如何配置这些属性的更多信息。
您可以使用/etc/map.publish
保存发布环境的配置。 然后,必须复制这些资源,并为发布环境的Apache Sling资源解析程序的映射位置配置的新位置(/etc/map.publish
)。