You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Typo3 11.5中含百分号的like条件判断Cookie失效求助

在TYPO3 11.5中通过TypoScript匹配含URL编码的Cookie的解决方案

问题根源在于request.getCookieParams()会自动对Cookie内容做URL解码,你写的gm%22%3Atrue里的%22会被解码成双引号",%3A解码成冒号:,实际Cookie里的对应内容是gm":"true,用原带百分号的字符串自然匹配不到。

给你三个可行的解决方法:

方法1:匹配解码后的字符串

直接用解码后的字符编写匹配规则:

[like(request.getCookieParams()['klaro'], '*gm":"true*')]
page.includeJSFooter{
    10 = https://maps.googleapis.com/maps/api/js?key=xxx
}
[END]

方法2:获取未解码的原始Cookie

使用request.getRawCookieParams()获取未解码的原始Cookie值,这样就能沿用你原来的匹配串:

[like(request.getRawCookieParams()['klaro'], '*gm%22%3Atrue*')]
page.includeJSFooter{
    10 = https://maps.googleapis.com/maps/api/js?key=xxx
}
[END]

方法3:解析JSON格式的Cookie(更可靠)

Klaro的Cookie通常是JSON结构(比如{"gm":true,...}),可以直接解析后判断布尔值,避免字符串匹配的误差:

[request.getCookieParams()['klaro'] && request.getCookieParams()['klaro']->stdWrap.json = gm && request.getCookieParams()['klaro']->stdWrap.json.value = 1]
page.includeJSFooter{
    10 = https://maps.googleapis.com/maps/api/js?key=xxx
}
[END]

内容的提问来源于stack exchange,提问作者user3852729

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 13:20:28