2016-01-21 62 views
-1

如何在文本编辑器组件中进行相对链接?默认情况下,Adobe AEM不喜欢使用外部页面的相对链接。它将它们去掉并显示断开的链接符号。Adob​​e AEM相关链接

+0

你能否提供更多的信息,像例如什么联系你写什么层次是(有此链接,以及页面的路径它指向页面的路径)? –

+0

外部页面的相关链接?如何可能?如果它是一个外部页面,那么你总是需要在你的链接中添加域名,或者我错过了什么? –

回答

-1

解决了我在/ system/console/configMgr#>日CQ链接检查变压器问题>检查“禁用检查”框。

相对路径现在工作。

+1

这不是一个解决方案。您只是禁用与您的问题冲突的工作验证。除非我误解,否则外部链接(与其他域的链接)决不可能是相对的。 –

5

我强烈建议您取消选中禁用检查日CQ链接检查变压器
请注意,您有责任确保所有链接均有效:
完全禁用所有链接检查。所有链接都被视为有效。

这是你想要与你的团队(Devs,TA ......)核对的东西。它可能适用于您的本地环境,并且由于未选中此选项,因此它将在QA,UAT和PROD中失败。
禁用链接检查器可能不是一个好主意,因为内容作者可能会添加断开的链接,如果在测试和回归测试过程中没有选择它,它会在整个站点中断用户导航。
关于路径,相对路径是那些你所在的环境中。例如,
/content/dam/geometrixx/banners/banner-mono.png
是相对路径,但是路径Stack Overflow是你环境之外,因此是外部的。为了有效,您需要提供完整的URL,包括方案,无论是HTTPHTTPSFTPFTPS等。有效的外部URL将为:
http://www.stackoverflow.com
有关URL的更多信息,请参见here


1

虽然禁用链接检查会的工作,我不知道你是如何通过相对链接引用外部网站。相对链接根据其性质在同一个域中。你能给我们一个你的意思吗?

禁用链接检查器的其他问题是生产部署可能会打开链接检查器。在这种情况下,你的代码会再次中断。你可能不希望你的客户/老板/不管那样不安。

相关链接可以使用linkchecker正常工作。你可以发布一些例子链接?我可以帮助你使事情正常工作。

0

如果您的网域中有URL(路径)不受AEM保护,则此问题非常普遍。这可以是由Apache(例如robots.txt),创建动态重定向(例如语言切换器)或另一个应用程序(例如在/ shop下的网上商店)的Servlet直接提供的文件。

第一种解决方案是将链接检查器的单个链接标记为有效。因此,您可以将以下属性添加到链接标记。

  • x-cq-linkchecker="valid" - 链路被标记为有效,而没有任何 检查
  • x-cq-linkchecker="skip" - 链接由链接 检查器忽略,并且仍保持原样

例如<a href="/shop/basket" x-cq-linkchecker="valid">Shopping Basket</a>

第二种解决方案是在“Day CQ链接检查器服务”的OSGi配置中配置特殊连接模式。如果您在同一个域中有第二个应用程序,那么您可以指定与此第二个应用程序的链接匹配的正则表达式模式。用户“链接检查覆盖样式”(未选中,但是重写)或“特殊链接样式”(未选中并且未被重写)。

示例配置只有链接到/content/*验证。这不符合^/content/.*$链接threated为有效:

<?xml version="1.0" encoding="UTF-8"?> 
    <jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" 
     jcr:primaryType="sling:OsgiConfig" 
     service.special_link_prefix="[javascript:,data:,mailto:,#,&lt;!--,${,tel:]" 
     service.check_override_patterns="[^system/,^(?!/content/).*$]" 
    />