2017-09-25 14 views
0

この問題は、多数の訪問者がいるページに散発的に発生します。 TYPO3は、完全に異なるページ(HTMLヘッドセクションを含む)のコンテンツを表示することがあります。例えばTYPO3ページキャッシュが間違っています

、ユーザーは以下のページを呼び出した場合:(listActionでデフォルトのコントローラProductController/products/をTYPO3はページ(showActionと同様ApplicationController)上の同じプラグインのランダムなコントローラとアクションの内容を示しています。 サイトは別のページにリダイレクトされません。間違ったコンテンツが表示されています。

私はすでに、次のことを試してみました:

  • 私はnonCacheableControllerActionsにコントローラ+アクションを追加しました(問題が再び日後に発生する)
  • URL(問題が解決されていますが、ページに?no_cache=1を追加します
  • キャッシュをクリアする(問題が解消されても問題は解決しますが、問題は1日後に発生します)
  • 問題を解決するようなページを数分おきに呼び出すスクリプトを作成しました。

他の誰も同じ問題がありますか?

仕様:

  • TYPO3バージョン:7.6.22
  • RealURLはバージョン:2.2.1

答えて

1

これらのキャッシングの問題は、通常、cHashの間違いまたは欠落のためです。

$GLOBALS['TSFE']→reqCHash(); をコントローラの動作に使用できます。これにより、cHashが設定されていない場合はキャッシュが無効になり、誤ったキャッシュエントリが得られなくなります。 注意:システム設定で[pageNotFoundOnCHashError] = 1に設定すると、cHashなしでページが呼び出されたときにページが見つからないというエラーが表示されます.0に設定すると、ページは表示されますがキャッシュされません。

また、システムパラメータ "[FE] [cHashRequiredParameters]"があります。そこにプラグインパラメータを追加できます。 cHashが指定されていないが、パラメータの1つが設定されている場合、TYPO3は設定されたcHashエラー動作をトリガします。 私はcHashesがtypolinksのために自動的に設定されると信じていますが、試して見ることができます。自動的に設定されていない場合は、showアクションへのリンクに "useCacheHash = 1"を設定する必要があります。

&は、最初の変種を使用します。

+0

私の '[pageNotFoundOnCHashError]'値はすでに '1'に設定されています。しかし、TYPO3はエラーをトリガーしません。私は '$ GLOBALS ['TSFE']→reqCHash();'明日呼び出すつもりです。しかし、私はどのようにキャッシュの問題が起こるかと思います。どのように私は将来問題を防ぐことができますか? – Nano

+0

はい、ただし、あなたのpageNotFoundOnCHashErrorが設定されているにもかかわらず、あなたの拡張機能が明示的にcHashesを必要としないので、エラーはトリガーではありません。 キャッシュの問題は、通常、キャッシュがクリアされた後にアクションがcHashなしで呼び出されたときに発生します。キャッシュされていないページがキャッシュに入り、今後のすべてのコールで配信されます。私たちは何度もそれを持っていました。 $ GLOBALS ['TSFE']→reqCHash();を設定しました。個々のキャッシュエントリが必要なすべてのアクションで使用できます。それ以来問題はありませんでした。 – deadfishli

+0

さて、私はそれを試して、それが働いた場合にお知らせします。 – Nano

0

USER_INTとしてプラグインを定義してみます。 plugin.tx_yourextkey = USER_INT

これは、TYPO3に各要求のコードを表示するように指示します。

ベストプラクティスは、showActionの2番目のページで、single_viewページでのみ、プラグインをUSER_INTとして定義します。

ただし、この問題が発生しないように2ページあります。 USER_INT設定は不要です。

+1

私は個人的にはそれが良いアイデアだとは思わない - USER_INTはプラグインをキャッシュしないようにする。それを明確にするだけです。 "このオブジェクトをUSER_INTとして作成すると、メインページのレンダリングの外で非キャッシュにレンダリングされます。 https://docs.typo3.org/typo3cms/TyposcriptReference/ContentObjects/UserAndUserInt/Index.html – deadfishli

+0

というように、メインページのレンダリングの外側にレンダリングして、リストとショーのアクション間のキャッシュの競合を避ける必要があります。 –

+0

場合によっては、ウェブサイトのほとんどがキャッシュされず、すべてが遅くなることを意味します。それは必ずしも意味をなさない。 Typo3はcashを使用して、さまざまなアクションに対してキャッシングを可能にします。場合によっては、キャッシュを回すだけの意味がありますが、場合によっては適切なcHashesを使用する方が良い解決策です。私はちょうど問題を誤解しているかもしれません。 – deadfishli

関連する問題