在有大量访问者的网页上偶尔会出现此问题。 有时TYPO3会显示完全不同页面的内容(包括HTML头部分)。
例如,如果用户调用以下页面:/products/
(默认控制器ProductController
带listAction
),TYPO3会显示随机控制器的内容以及相同插件的操作页面(例如ApplicationController
与showAction
)。
本网站不会重定向到另一个页面,它只是显示错误的内容!
我已经尝试过以下事项:
nonCacheableControllerActions
(问题再次发生一天)?no_cache=1
(问题已解决,但网页速度降低)其他人是否有同样的问题?
规格:
7.6.22
2.2.1
答案 0 :(得分:1)
那些缓存问题通常是由于错误或缺少cHash。
您可以使用$GLOBALS['TSFE']→reqCHash();
在你的控制器的行动中。如果未设置cHash,则会禁用缓存,因此请确保不会收到不正确的缓存条目。
请注意:如果在系统设置中设置[pageNotFoundOnCHashError] = 1,则在没有cHash的情况下调用页面时会出现页面未找到错误,如果设置为0,页面仍会显示但不会缓存。
或者,有一个系统参数“[FE] [cHashRequiredParameters]” - 您可以在那里添加插件参数。如果没有给出cHash但是设置了其中一个参数,则TYPO3会触发配置的cHash Error行为。 我相信cHashes会自动设置为typolinks,你可以试试看。如果未自动设置,则应在指向show动作的链接上设置“useCacheHash = 1”。
我更喜欢&使用第一个变体。
答案 1 :(得分:0)
尝试将插件定义为USER_INT。 plugin.tx_yourextkey = USER_INT
这将告诉TYPO3为每个请求呈现代码。
最佳做法是showAction的第二页,只有在single_view页面上,才能将插件定义为USER_INT。
但是你有两页这样你不应该遇到这个问题。并且不需要USER_INT设置。
答案 2 :(得分:0)
从TYPO3 v9开始,使用以下命令:
$TYPO3_CONF_VARS['FE']['cacheHash']['requireCacheHashPresenceParameters']
使用数组作为值而不是
$TYPO3_CONF_VARS['FE']['cacheHash']['cHashRequiredParameters']
,带有逗号分隔的列表。