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

TYPO3 11中RequestMiddlewares.php配置失效问题求助

TYPO3 11中自定义中间件配置调整方案

问题分析

你的自定义中间件配置在TYPO3 9/10正常运行,但在11中失效;注释before中的typo3/cms-frontend/tsfe后虽能运行,却导致所有Extbase扩展(如News插件)抛出#1316104317错误,核心原因是:

  • TYPO3 11中TypoScriptFrontendInitialization(对应标识typo3/cms-frontend/tsfe)负责初始化TSFE对象及加载Extbase控制器配置,若自定义中间件在它之前运行且未正确传递请求,会导致后续流程无法获取controllerConfiguration。
  • 保留before中的tsfe会干扰中间件依赖链,导致配置失效。

调整后的配置

修改EXTDIR/Configuration/RequestMiddlewares.php为以下内容:

<?php
return [
    'frontend' => [
        'varioous/rest/mail-chimp-middleware' => [
            'target' => Varioous\Rest\MailChimpMiddleware::class,
            'after' => [
                'typo3/cms-frontend/site',
            ],
            'before' => [
                'typo3/cms-frontend/eid',
            ],
        ],
    ],
];

关键调整说明

  1. 保留before中的eid:确保REST请求在EID处理前被拦截,优先响应自定义逻辑。
  2. 移除tsfe并添加after依赖:让中间件在站点解析完成后运行,既保证REST请求的处理时机,又不会阻断TSFE初始化流程——若当前请求不是REST请求,中间件会继续传递请求到后续流程,TSFE正常初始化后Extbase的控制器配置就能正确加载。
  3. 中间件内部逻辑补充:在MailChimpMiddleware的handle方法中,需判断当前请求是否属于你的REST接口路径,若是则直接返回响应;否则调用$handler->handle($request)将请求传递给下一个中间件,避免阻断正常前端请求流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 19:18:17