我可以在AEM中广泛地看到两种URL重写方法:
我想知道哪一个在两个方面更好 - 从易于实现,可扩展性,维护和安全性的角度来看。自动化。
问候。
答案 0 :(得分:5)
Sling中的问题始终存在多个选项。如果你看一下主题" URL重写"它有两个维度:
/content/path/en/about.html
缩短为/en/about/
/en/about/
的入站请求映射到资源请求/content/path/en/about.html
<强>外向强>: URL重写通常由LinkRewriter / TransformerFactory进行出站。 理论上,您还可以更改组件以进行不同的渲染或更改内容。但不建议这样做。 要应用Transformer,您可以使用
<强>入站强>: 您的入站请求可以在Sling或基础架构级别上重写或映射(Apache HTTPD mod_rewrite或CDN s.a. Akamai)
HTH
[1] https://docs.adobe.com/docs/en/aem/6-2/deploy/configuring/resource-mapping.html
[2] https://sling.apache.org/documentation/the-sling-engine/filters.html
[3] https://sling.apache.org/documentation/the-sling-engine/mappings-for-resource-resolution.html
答案 1 :(得分:3)
这取决于你所指的重写。入境或出境。
当涉及到入站重写时,我建议使用mod_rewrite并使用单一规则正确地重写您的内容 - 这非常有效。
当谈到Outbound重写(处理你的html中的链接)时,你肯定应该使用Sling Mappings - 因为它们更有效和清晰 - 而且它们的设计就是为了这个目的。
看一下这个解释整个重写历程的博客:https://www.cognifide.com/our-blogs/cq/multidomain-cq-mappings-and-apache-configuration/