如何防止在AEM中暴露内容hiererchy路径?我正在寻找AEM级别和Dispatcher级别的替代方案

时间:2016-08-25 17:06:52

标签: url-rewriting aem

举个例子,你会如何实现:     一个。将热门内容翻译成www.mysite.com到www.mysite.com/en和     湾将上述www.mysite.com/en翻译成/content/mysite/en.html

2 个答案:

答案 0 :(得分:2)

这里有一个完整的例子

  1. 查看本地调度程序设置上的帖子 https://stackoverflow.com/questions/38954232/aem-security-environments-checklist/38955425#38955425
  2. 将Localhost设置为域名(w.r.t操作系统windows7)
  3. 使用本地调度程序映射域名
  4. etc / maps在AEM中设置缩短内容路径( 请记住,我们可以为etc / maps正则表达式设置提供多种变体,具体取决于您的要求。
  5. Localhost to domain name

      

    更改hosts文件中的设置,如下图所示。

    enter image description here

      

    添加您喜欢名字的条目作为域名,如下所示   例。   enter image description here

    通过域名访问项目,如下面的屏幕截图所示。您的网页应如下呈现。 enter image description here

    使用本地调度程序

    映射域名

    打开dispatcher.any文件(如果您已将与模块相关的服务器场分开,则打开与我相关的特定站点相关的服务器场文件) enter image description here

    确保您的虚拟主机允许您的域名在下面的屏幕截图“*”中表示允许所有主机。 (否则,如果您只想允许指定的特定域名而不是*) enter image description here

    enter image description here

    通过etc / maps缩短内容路径

    可以手动创建

    etc / maps节点,如下面的屏幕截图所示  (或者您可以使用某些第三方开发的插件http://cognifide.github.io/Carty/

    创建它们

    enter image description here

    dispatcher.any文件或单独的虚拟主机文件中添加虚拟主机条目。 在我的情况下,我已将它们添加到单独的文件中。并启用了httpd.conf文件中包含的文件。同时启用重写模块,否则虚拟主机文件enrty重写将无法正常工作。 enter image description here enter image description here

    请务必注意突出显示的重写规则和SetHandler配置,这些是正确呈现页面的关键,否则请求可能会在调度程序级别停止,而不会传播到AEM的发布实例。

    就是这样,一旦你完成了上述所有配置而没有任何错误,你应该能够看到我们主页的域名访问权限。所有其他页面都应该通过隐藏已在etc / maps中配置的内容路径来使用简短形式的网址进行渲染

    enter image description here

答案 1 :(得分:1)

看看资源映射:

通过映射,您可以使传入的URL(用户在浏览器中看到的内容)是一回事,但AEM在处理传入请求时看到的URL是其他内容。

另见: