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

TYPO3 12版本如何为预览与后端表单配置不同基础URL?

TYPO3 12 多站点预览与后端表单Base Variant配置方案

问题背景

在多站点部署环境中,前端站点使用独立域名(如https://frontend-website-1.example.org/),后端通过共享域名(如https://typo3.example.com/typo3/)管理。需解决两个核心问题:

  • 后端预览未上线页面/工作区变更时,避免跳转到无Cookie的前端域名导致404
  • 后端表单(如页面属性的Web Address)需显示真实前端域名,而非共享域名的子路径

解决方案:双Base Variant配置

TYPO3 12中预览请求的applicationType被标记为backend,因此需针对预览场景和后端表单显示场景分别配置Base Variant。

站点配置代码

在对应站点的config/sites/<site-identifier>/config.yaml中添加以下配置:

base: 'https://frontend-website-1.example.org/'
baseVariants:
  # 处理后端预览请求:跳转至共享域名的子路径
  -
    base: 'https://typo3.example.com/frontend-website-1/'
    condition: 'applicationType == "backend" and (applicationContext == "Development" or like(host, "typo3.*"))'
  # 后端表单显示:使用真实前端域名
  -
    base: 'https://frontend-website-1.example.org/'
    condition: 'applicationType == "backend"'

配置逻辑说明

  1. 预览场景匹配:第一个变体专门针对后端发起的预览请求,通过applicationType == "backend"匹配,结合开发环境或共享域名条件,将预览URL指向https://typo3.example.com/frontend-website-1/,规避Cookie隔离导致的404问题。
  2. 后端表单显示:第二个变体仅在后端界面渲染时生效,强制使用真实前端域名,确保页面属性中的Web Address显示正确的用户访问地址。

关键注意事项

  • 变体的顺序很重要:预览变体需放在表单显示变体之前,因为条件更具体的变体优先匹配。
  • 若需对所有站点统一配置,可通过站点配置继承或全局配置调整,但建议按站点单独配置以保证灵活性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 14:15:03