首页 文章

错误的内容被缓存

提问于
浏览
0

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

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

虽然我们使用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

    请检查我对另一个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呈现页面 .

    关于链接来自何处的问题 . 如果网站已经上线,它可以是一切:从爬虫,以某种方式 Build 链接本身到试图玩参数的用户 .

相关问题