TYPO3 TypoScript通过变量配置additionalHeaders实现URL重定向
TYPO3 TypoScript实现URL片段替换后重定向的可行方案
你需要实现替换请求URL指定片段后通过Location头完成重定向,之前的代码失败原因在于config.additionalHeaders的header属性无法直接引用TypoScript对象,必须通过stdWrap来解析调用。
你的尝试代码(无效)
tmp.getSlug = TEXT tmp.getSlug.data = getIndpEnv : TYPO3_REQUEST_URL tmp.getSlug.replacement { 10 { search = myLinkPart replace = myNewLinkPart } } config.additionalHeaders.10 { header = Location: {tmp.getSlug} }
修正后的可行代码
# 1. 提取请求URL并替换指定片段 tmp.getSlug = TEXT tmp.getSlug.data = getIndpEnv: TYPO3_REQUEST_URL tmp.getSlug.replacement { 10 { search = myLinkPart replace = myNewLinkPart # 可选:开启大小写不敏感匹配,按需启用 # case = ignoreCase } } # 2. 配置Location重定向头,通过stdWrap调用处理后的URL config.additionalHeaders.10 { header = Location: header.stdWrap.cObject < tmp.getSlug # 设置重定向状态码:301为永久重定向(适合SEO),302为临时重定向(默认) # statusCode = 301 }
关键说明
- 核心修改是用
header.stdWrap.cObject引用tmp.getSlug对象,让TypoScript正确解析处理后的URL - 可根据业务需求调整重定向状态码,永久重定向建议配合SEO场景使用
- 若需忽略URL片段的大小写差异,可启用
replacement.10.case = ignoreCase配置
内容的提问来源于stack exchange,提问作者Mltno
相关产品推荐
相关产品推荐

