我有两个域和内容路径,如下所示 domain1.com/content/abc/en-US/home.html, domain2.com/content/xyz/kr-KR/home.html
我在CQ发布实例中定义了以下URL映射配置 - > Felix控制台 - > Apache Sling解析器工厂
/内容/ ABC /:/ /内容/ 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..all这些工作正常..
但我的问题是,我也可以从domain2访问domain2.com/en-US/home.html虽然我在domain2中没有en-US(我们应该看到404页面)。我该怎么限制这个。我知道它正在发生,因为资源解析器映射。任何帮助将是欣赏!如果你不清楚我的问题,请告诉我。
答案 0 :(得分:0)
这是需要在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重写模块发送404响应。博客帖子的链接是multidomain mapping in cq5