2017-06-14 84 views
1

我生成了一個robots.txt文件,並且所有的代碼都可以正常使用... 只有沒有辦法讓換行符被尊重,爲什麼?TYPO3:typoscript不尊重txt文件中的換行符

的TypoScript:

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

回答

4

的Typo腳本屬性additionalHeaders根據https://docs.typo3.org/typo3cms/TyposcriptReference/Setup/Config/Index.html#additionalheaders

這就是爲什麼在HTTP響應的內容被作爲text/html的代替處理的類型是 「數字數組」 與子屬性的text/plain按要求。

這Typo腳本代碼應該做的伎倆:

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」信息。

+0

thx benni,聽起來不錯,但仍然有一些令人不安的事情,無論如何,我會得到一個oneliner ...任何其他可能關閉的設置? Typo3 v7.6.18 – webMan

+0

我嘗試了一個全新的安裝,它是正確的,我用EXT:T3SBootstrap,導致我的具體問題,我想,與該擴展禁用它工作正常... – webMan

1

使用奔奔提供的代碼我得到這個:

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:/
    } 
} 

在我的情況下,結果是一樣的,但也許這將解決您的問題。

+0

信不信由你,還你的片段仍然給一行,我從來沒有懷疑Benni的代碼,在我的具體情況下,一定會有一些設置擾亂...我不知道該去哪看,在這段代碼之前會發生什麼? – webMan