TYPO3:打字错误不考虑 txt 文件中的换行符

TYPO3: typoscript does not respect line breaks in txt file

我生成了一个 robots.txt 文件,在 realurl 下一切正常... 只是没有办法尊重换行符,为什么?

打字错误:

# robots.txt
robots = PAGE
robots {
    typeNum = 201
    config {
        disableAllHeaderCode = 1
        additionalHeaders = Content-type:text/plain
    }
    10 = TEXT
    10.value (
User-Agent: *
Disallow: /
)
}

TypoScript 属性 additionalHeaders 属于 "numeric array" 类型,其子属性符合 https://docs.typo3.org/typo3cms/TyposcriptReference/Setup/Config/Index.html#additionalheaders

这就是为什么 HTTP 响应的内容被视为 text/html 而不是请求的 text/plain .

这段 TypoScript 代码应该可以解决问题:

robots = PAGE
robots {
    typeNum = 201
    config {
        disableAllHeaderCode = 1
        debug = 0
        additionalHeaders.10.header = Content-type: text/plain
    }
    10 = TEXT
    10.value (
User-Agent: *
Disallow: /
)
}

主要区别是(右)

robots.config.additionalHeaders.10.header = Content-type: text/plain

而不是(错误)

robots.config.additionalHeaders = Content-type: text/plain

此外,选项

robots.config.debug = 0

已设置,因此 "parsetime" 信息不会呈现给机器人文件。

使用 Benni 提供的代码,我得到了这个:

User-Agent: *
Disallow: /

看来答案是正确的。 您可以尝试使用以下代码手动添加换行符:

robots = PAGE
robots {
    typeNum = 201
    config {
        disableAllHeaderCode = 1
        debug = 0
        additionalHeaders.10.header = Content-type: text/plain
    }
    10 = COA
    10 {
        1=TEXT
        1.value = User-Agent: *
        2=TEXT
        2.char = 10
        3=TEXT
        3.value = Disallow: /
    }
}

在我的例子中结果是一样的,但也许这会解决你的问题。