2017-06-12 48 views
0

我們有一個網站有時會爲特定網址提供錯誤的內容。
該頁面有一個插件,默認情況下應顯示記錄列表(或第一個記錄列表,因爲列表按首字母分組)。點擊鏈接後,可以在同一頁面上詳細查看一些記錄。緩存了錯誤的內容

每隔一段時間發生緩存問題: 而不是列表中顯示的詳細記錄。

儘管我們使用realurl,但基本URL也會出現所有問題。
有關概述,我將只寫入url參數,前面假設www.domain.tld/index.php?

要調用的頁面是id=61。我看到的是
cHash=3df3421afc42d3d5bfa1bc50603ea00d&id=61&tx_citkoegovservicelight_ansprechpartner%5Baction%5D=show&tx_citkoegovservicelight_ansprechpartner%5Bansprechpartner%5D=282

在頁面的HTML源代碼中,我使用擴展名page_params顯示頁面調用參數。在這裏,我看到:
tx_citkoegovservicelight_ansprechpartner[action]=show&tx_citkoegovservicelight_ansprechpartner[ansprechpartner]=282&tx_citkoegovservicelight_ansprechpartner[letter]=kontakt&id=61

兩個陌生注意事項:沒有cHash參數,有哪些不應該有詳細視圖中使用,絕不應該有kontakt(只有單個字符被用於該值的附加參數tx_citkoegovservicelight_ansprechpartner[letter]以該字母開頭的所有記錄的列表=無詳細視圖)

使用這些參數不會顯示詳細信息視圖,而是顯示列表視圖(對於字母「A」)。

我沒有找到爲什麼應該調用這個特殊的URL(無鏈接),我不知道爲什麼TYPO3應該緩存屬於另一個URL的內容。
而且這是TYPO3緩存的問題,因爲如果我清除此單頁的緩存,所有工作都會正確。

+1

我知道這個問題'而不是列表中顯示一個詳細的記錄'從一個自定義的extbase擴展。經過數月絕望的擺弄(以及難以重現,因爲它不會立即發生),我已經切換到使用一個單獨的頁面的列表和詳細信息,這是可惜的URL路徑和更多的工作設置在BE - 但從那時起,錯誤(當然)消失了。 – Urs

回答

0

請檢查我對另一個issue的答案。在這種情況下,接受的答案是正確的,但在你的情況下,它可能是由於cHash計算失敗而導致的,因爲它與RealURL無關。

嘗試清除緩存,然後在那之後轉到tx_citkoegovservicelight_ansprechpartner[action]=show&tx_citkoegovservicelight_ansprechpartner[ansprechpartner]=282&tx_citkoegovservicelight_ansprechpartner[letter]=kontakt&id=61

然後只需打開頁面id=61。如果你看到了錯誤的緩存的結果,那麼原因是在以下因素的組合:

  • 插件的作用是緩存
  • 緩存失敗被允許在安裝
  • cHash計算失敗

爲了防止這種情況,您應該在安裝工具中啓用pageNotFoundOnCHashError。那麼上面有問題的鏈接將觸發404,並且不會強制TYPO3呈現頁面。

對於鏈接來自何處的問題。如果網站已經存在,它可能是一切:從一個爬蟲,它以某種方式將鏈接本身建立到試圖玩參數的用戶。

+0

'插件的動作被緩存'是的,'緩存失敗是允許在安裝'否,'cHash計算失敗'似乎是這樣。 –

+0

因此,啓用了'pageNotFoundOnCHashError',但是當您調用'tx_citkoegovservicelight_ansprechpartner [action] = show&tx_citkoegovservicelight_ansprechpartner [ansprechpartner] = 282&tx_citkoegovservicelight_ansprechpartner [letter] = kontakt&id = 61'時,您會看到插件輸出而不是404? –

+0

是的。清除緩存後,我會看到記錄詳細信息視圖。問題可能是附加參數(字母)是一個有效的參數,但它在詳細視圖(僅列表視圖)中無效。而且依然沒有任何破壞。 –