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

如何在TYPO3中配置可通过.env管理的站点baseVariants

实现TYPO3通过.env配置baseVariants

步骤1:在.env文件中定义环境变量

直接在你的.env文件里添加对应环境的域名变量,示例:

# 生产环境基础域名
SITE_BASE=https://example.org
# 当前环境的变体域名(每个环境单独设置)
SITE_BASE_VARIANT=https://dev1.example.org

步骤2:修改站点配置文件

打开config/sites/<site-identifier>/config.yaml,将base和baseVariants改为读取环境变量的形式,无需为每个环境新增配置条目:

base: '%env(SITE_BASE)%'
baseVariants:
  -
    base: '%env(SITE_BASE_VARIANT)%'
    condition: 'applicationContext != "Production"'

如果需要更精准匹配环境类型,可调整条件规则:

base: '%env(SITE_BASE)%'
baseVariants:
  -
    base: '%env(SITE_BASE_VARIANT)%'
    condition: 'applicationContext matches "/Development.*/" || applicationContext matches "/Staging.*/"'

步骤3:确认环境变量加载正常

确保你正在使用的helhum/dotenv-connector已正确初始化(通常在config/system/additional.php或config/bootstrap.php中配置),保证TYPO3能解析到.env里的变量。

多站点场景优化

如果管理多个站点,可给每个站点的环境变量添加前缀区分:

# 站点1配置
SITE1_BASE=https://site1.example.org
SITE1_BASE_VARIANT=https://dev-site1.example.org
# 站点2配置
SITE2_BASE=https://site2.example.org
SITE2_BASE_VARIANT=https://dev-site2.example.org

对应站点的config.yaml里使用%env(SITE1_BASE)%、%env(SITE1_BASE_VARIANT)%这类带前缀的变量即可。

通过这种方式,每个环境只需修改.env里的变体域名变量,无需改动TYPO3的站点配置文件,实现纯环境变量管理base变体。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 17:45:32