错误的内容被缓存

时间:2017-06-12 09:50:40

标签: typo3 typo3-7.6.x

我们的网站有时会针对特定网址提供错误的内容 该页面有一个插件,默认情况下应显示记录列表(或第一个记录列表,因为列表按首字母分组)。单击链接后,可以在同一页面上详细查看某些记录。

偶尔出现缓存问题: 而不是列表显示详细记录。

虽然我们使用了realurl,但所有问题都出现在基本网址上 概述我只会编写url-parameters,假设前面有www.domain.tld/index.php?

要呼叫的页面为id=61 我看到的是什么 cHash=3df3421afc42d3d5bfa1bc50603ea00d&id=61&tx_citkoegovservicelight_ansprechpartner%5Baction%5D=show&tx_citkoegovservicelight_ansprechpartner%5Bansprechpartner%5D=282

在页面的HTML源代码中,我展示了页面调用参数,扩展名为page_params。我在这里看到:
tx_citkoegovservicelight_ansprechpartner[action]=show&tx_citkoegovservicelight_ansprechpartner[ansprechpartner]=282&tx_citkoegovservicelight_ansprechpartner[letter]=kontakt&id=61

两个奇怪的注释:没有cHash参数,还有一个额外的参数tx_citkoegovservicelight_ansprechpartner[letter],它永远不应该与详细视图一起使用,永远不应该有值kontakt(只有单个字符用于列出以该字母开头的所有记录=无详细信息视图)

使用这些参数不会显示详细视图,而是显示列表视图(字母'A')。

我找不到为什么要调用这个特殊URL(没有链接)的原因,我不知道为什么TYPO3应该缓存属于另一个URL的内容。
这是TYPO3缓存的一个问题,因为如果我清除这个单页的缓存,一切正常。

1 个答案:

答案 0 :(得分:0)

请检查我对另一个issue的回答。在这种情况下,接受的答案是正确的,但在您的情况下,它实际上可能是由cHash计算失败引起的,因为它与RealURL无关。

尝试清除缓存,然后立即转到tx_citkoegovservicelight_ansprechpartner[action]=show&tx_citkoegovservicelight_ansprechpartner[ansprechpartner]=282&tx_citkoegovservicelight_ansprechpartner[letter]=kontakt&id=61

然后只需打开页面id=61即可。如果您看到错误的缓存结果,则原因在于以下因素的组合:

  • 插件的操作已缓存
  • 安装中允许缓存失败
  • cHash计算失败

要防止出现这种情况,您应该在安装工具中启用pageNotFoundOnCHashError。然后上面有问题的链接将触发404并且不会强制TYPO3呈现页面。

链接的来源问题。如果网站已经在线,它可以是一切:从爬虫,以某种方式建立链接本身到试图玩参数的用户。