【问题标题】:how to configure CQ Apache sling resource resolver factory for multiple domains如何为多个域配置 CQ Apache sling 资源解析器工厂
【发布时间】:2014-10-07 21:29:21
【问题描述】:

我有两个域和内容路径,如下所示 domain1.com/content/abc/en-US/home.html, domain2.com/content/xyz/kr-KR/home.html

我在 CQ 发布实例中定义了下面的 URL 映射配置 -->Felix 控制台 -->Apache Sling 解析器工厂

/内容/abc/:/ /content/xyz/:/

上述配置从URL中删除/content/abc,/cotent/xyz(缩短URL) 我已经定义了重写规则,将 www.domain1.com 重定向到 domain1.com/en-US/home.html 并将 www.domain2.com 重定向到 domain2.com/kr-KR/home.html ..所有这些工作正常..

但我的问题是,我也可以从 domain2 访问 domain2.com/en-US/home.html,尽管我在 domain2 中没有 en-US(我们应该看到 404 页面)。我该如何限制这个。我知道这是因为资源解析器映射而发生的。任何帮助将不胜感激!!!如果您不清楚我的问题,请告诉我..

【问题讨论】:

    标签: aem


    【解决方案1】:

    这是一些需要在 Web 服务器级别进行控制的事情。域只接受请求到 CQ 的服务器。由于两个域都指向同一个服务器,只要路径解析到正确的位置,它就会返回页面。 Cognifide 的博客对此有一篇很棒的文章。这是与您的问题相关的该博客的摘录

    因为用户可以在给定域名后输入完整的内容路径,例如geometrixx.com/content/geometrixx/en/products.html,他们可能会得到一个属于其他域的页面,例如geometrixx.com/content/geometrixx/fr/products.html。为了避免这种情况,我们需要检查所有以 /content 开头的路径请求,并拒绝那些与任何活动、DAM 或当前域无关的请求:

    RewriteCond %{REQUEST_URI} ^/content

    RewriteCond %{REQUEST_URI} !^/content/campaigns

    RewriteCond %{REQUEST_URI} !^/content/dam

    RewriteRule !^/content/geometrixx/en - [R=404,L,NC]

    当请求不应该在该域上的页面时,它利用 apache httpd re-write 模块发送 404 响应。博文的链接是multidomain mapping in cq5

    【讨论】:

    • 感谢您的回复。我能够通过上述重写条件解决此问题。
    猜你喜欢
    • 2016-11-14
    • 2020-03-30
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-30
    • 1970-01-01
    • 2018-10-30
    相关资源
    最近更新 更多