我们有一个网站有时会为特定网址提供错误的内容 .
该页面有一个插件,默认情况下应显示记录列表(或第一个记录列表,因为列表按首字母分组) . 单击链接后,可以在同一页面上详细查看某些记录 .
偶尔会出现缓存问题:显示详细记录而不是列表 .
虽然我们使用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 回答
请检查我对另一个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 链接本身到试图玩参数的用户 .