【问题标题】:Varnish ESI breaks on html commentsVarnish ESI 在 html 注释上中断
【发布时间】:2013-01-09 23:20:50
【问题描述】:

我正在运行一个 drupal 站点并实施 esi 支持。

到目前为止,当我在这样的块上实现基本 esi 支持时一切正常:

<esi:include src="blabl"><esi:remove>I am a not yet from esi block <!-- block --> </esi:remove>

现在,只要标签内没有 html cmets,它就可以很好地工作。但是当esi里面有html cmets时,只会删除一部分html cmets。这导致所有以下 html 被注释掉并且不被显示

经过varnish处理后是这样的:

I am a block from esi! <!--

现在可以从 html 中删除所有 cmets,但这似乎不是解决方案。

有人遇到过类似的问题吗?非常感谢您的帮助

【问题讨论】:

  • 可能是 Varnish 被esi! &lt;!-- 字符串弄糊涂了;进入&lt;!--esi --&gt; 评论处理分支,然后从您的页面中删除错误的部分。删除esi这个词是否有效?如果是这样,请使用此测试用例向 Varnish 提交错误。
  • 仅供参考我刚刚遇到了类似的问题 - 如果您在 块中有评论,则 esi:remove 在 Varnish 运行时不会隐藏,因此如果您有两次内容非 ESI 后备。似乎是任何评论,而不仅仅是与字符串 'esi' 匹配的东西……

标签: varnish html esi


【解决方案1】:

这不是一个自闭合标签(以“/>”结尾):

HTML-comment 标签可能是作为 esi 标签的一部分被读取的。

< esi:remove>

仅支持 esi:include。

您应该阅读:https://www.varnish-cache.org/trac/wiki/ESIfeatures

【讨论】:

猜你喜欢
  • 2011-08-23
  • 1970-01-01
  • 2015-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-27
  • 2012-01-18
  • 1970-01-01
相关资源
最近更新 更多