这是一个异常,当URL中存在错误的L
参数时,将引发此异常。它会污染/typo3temp/logs/
文件夹中的typo3_log。
此异常似乎是在realurl的版本2.3.0
中引入的。如果我降级到版本2.2.1
,该错误将不再记录。在版本2.3.1
中,我还会得到一个 巨大 堆栈转储,其中包含整个TypoScript配置数组。
触发此错误的URL示例为:
https://www.example.org/index.php?uid=1&L=a
config.linkVars = L(0-1)
https://www.example.org/index.php?uid=1&L=5
realurl_config.php
文件中的设置不匹配的整数
config.linkVars = L(0-6)
'preVars' => array (
0 => array (
'GETvar' => 'L',
'valueMap' => array (
'en' => '1',
'fr' => '2',
'es' => '3',
'it' => '4',
),
'noMatch' => 'bypass',
),
)
https://www.example.org/index.php?uid=1&L=6
sys_language
数据库表中定义的现有语言不匹配的整数错误消息是这样的
component =“ DmitryDulepov.Realurl.Encoder.UrlEncoder”:realurl检测到错误的“ L”参数(“ X”)。页面缓存被禁用,以防止传播错误的“ L”值-“ <此处为长转储> ”
其中X
是错误的参数
realurl版本2.3.2
中不存在长转储,而版本2.3.1
中则存在长转储
我有一个完全正常的设置,可以与像这样的realurl版本2.2.x
一起很好地工作
TypoScript
config.linkVars = L(0-1)
page.config.linkVars < config.linkVars
config.uniqueLinkVars = 1
config.language = de
config.locale_all = de_DE
config.htmlTag_langKey = de
config.sys_language_uid = 0
[globalVar = GP:L = 1]
config.language = en
config.locale_all = en_SUS
config.htmlTag_langKey = en
config.sys_language_uid = 1
[global]
realurl_conf.php
'preVars' => array (
0 => array (
'GETvar' => 'L',
'valueMap' => array (
'en' => '1',
),
'noMatch' => 'bypass',
),
),
激活的语言英语:id = 1,默认语言德语
我搜索了错误消息,但发现的只是论坛上Dimitri(realurl的作者)的答复,他们声称配置错误,但没有任何提示。
不会触发该错误,因为我网站上的某些链接具有错误的L参数。访问日志显示那些参数错误的链接来自漫游器,没有引荐来源的链接或来自外部链接
答案 0 :(得分:0)
我前几次做了这个补丁,似乎可以解决这个问题:
j
我认为realurl配置中没有什么可以修复它。因此,您必须应用此补丁。我个人使用cweagans/composer-patches,如果您使用作曲家来管理网站的依存关系,那很好。