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

TYPO3 Fluid表单__referrer[arguments]参数过长致请求失败

TYPO3 Fluid表单__referrer[arguments]过长导致400错误的解决办法
  • 改用POST请求提交表单
    GET请求的URI长度受服务器限制,把表单提交方式改成POST就能从根源上避免这个问题。在Fluid的FormViewHelper里直接设置method属性即可:

    <f:form method="POST" action="yourAction" controller="YourController">
      <!-- 表单内容 -->
    </f:form>
    

    对应的JavaScript提交逻辑也要同步改成POST方式,参数会被放在请求体中,不再占用URI长度。

  • 截断或清理__referrer参数
    可以通过配置或自定义代码限制__referrer[arguments]的长度:

    1. TypoScript配置:关闭Extbase会话存储中不必要的referrer参数
      config.tx_extbase.persistence.session.enable = 0
      
    2. 前端处理:在JavaScript提交表单前,手动截取__referrer[arguments]的内容,只保留必要部分,甚至直接删除非必需的参数片段。
  • 调整服务器端URI长度限制(不推荐)
    如果必须使用GET请求,可以修改服务器配置放宽URI长度限制:

    • Apache:调整httpd.conf里的LimitRequestLine和LimitRequestFieldSize参数,增大数值
    • Nginx:修改nginx.conf中的large_client_header_buffers配置
      但这种方法会影响整个服务器的请求处理策略,且GET本身不适合传输大量数据,仅作为临时应急方案。
  • 配置TYPO3的Referrer清理规则
    在系统配置中开启referrer自动清理,减少不必要的参数存储:
    在ext_localconf.php中添加:

    $GLOBALS['TYPO3_CONF_VARS']['FE']['referrerCleanUp'] = true;
    

    也可以通过调整$GLOBALS['TYPO3_CONF_VARS']['FE']['referrerCheck']相关参数,限制referrer中存储的arguments数量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 05:12:01