Typo3 v9.5.5,PHP 7.2,从8.7升级后。缓存清除,缓存关闭,开发环境。我的扩展名为requireCHashArgumentForActionArguments
设置为0。
我使用如下语法生成操作的链接:
<f:link.action action="test" noCacheHash="1"></f:link.action>
不幸的是,cHash
参数始终存在于返回的URL中。它打破了我的扩展逻辑,因为我在通过ajax请求调用action之前在我的JavaScript代码中为URL添加了额外的属性。
我期望noCacheHash
参数导致从URL中删除cHash
参数。
我期望设置requireCHashArgumentForActionArguments
防止任何URL验证问题,即使URL中存在cHash
。
我知道cHashExcludedParameters
配置设置,但我想通常关闭cHash
我的扩展。
所以,我要求帮助或解释。
编辑:如果我从URL手动删除qazxsw poi参数并调用它,请求处理成功。所以,这意味着,chash
处理正常,但只有当URL中没有requireCHashArgumentForActionArguments
时。
编辑2:
在我的情况下,无效的cHash导致调用chash
处理程序。我在pageNotFoundOnCHashError
设置了$GLOBALS['TYPO3_CONF_VARS']['FE']['pageNotFoundOnCHashError'] = false;
,它“解决”了一个问题(不是一个优雅的修复)。
您需要使用属性创建自己的RouteEnhancer以删除URL中的cHash。在这里AdditionalConfiguration.php
是一些很好的例子。
你的qazxswpo应该是这样的:
RoutingEnhancersAndAspects