問題タブ [esi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1315 参照

php - Symfony ESIはFORM送信のPOSTパラメータを取得するか、ESIをPOSTとして呼び出します

キャッシュすべきではないフォームを含むキャッシュされたサイトがあります。それにはESIを使用します。フォームが送信されると、コントローラーで POST パラメーターを取得する必要があります。Symfony では、実際の POST データではなく、リクエスト パラメータの「フォーム」を取得できます。または、それらを取得する良い方法はありますか。

親ページキャッシュのため、小枝でそれらを設定しても機能しません。

コントローラーで post パラメーターを取得する方法 現在、ここに示すコードは ESI データのみを取得します。

親リクエストからパラメータを取得するにはどうすればよいですか?

ハッキーなソリューション

現在、私が見つけた唯一の解決策は、あまりにもハックな
TWIG です。

PHP:

追加

少し調べてsymfonyのコアコードを調べた後、ESIをPostに変更する必要があるので、私の質問は「GETではなくPOSTメソッドとしてESIを呼び出す方法」です。

解決

投稿されたような requestStack を使用Chris Ticknerすることは、投稿ソリューションのようです。

0 投票する
1 に答える
332 参照

php - Symfony2 ESI: サブリクエストにプライベートレスポンスが含まれていても、レスポンスはパブリックとしてマークされます

symfony プロジェクトで ESI を有効にし、プライベート フラグメントを含むパブリックとしてマークされたホームページを提供しようとしました。

ホームページコントローラー:

ホームページの表示:

ESI コントローラー:

デバッグ モードでは、ホームページに埋め込みコンテンツが表示されますが、含まれているフラグメントが非公開としてマークされていても、応答は公開としてマークされます。プライベートでいいんじゃない?

0 投票する
1 に答える
376 参照

magento - Magento Varnish キャッシュされたブロックがログイン ユーザーに表示される

私のクライアントの Magento サイトは、SuperCacher が有効化された SiteGround でホストされています。SuperCacher は、Varnish の SiteGround 最適化バージョンです。

Varnish キャッシングには、Turpentine のバージョンを使用します。

ログインしたユーザーにのみ表示される検索ブロックがあります。Varnish が有効化されている場合、このブロックは表示されません。

検索ブロックに ttl 0 を使用して af ESI ポリシーを指定すると、ログイン ユーザーとログアウト ユーザーの両方に表示されます。

このブロックをキャッシュから除外して、ログインしているユーザーにのみ表示するにはどうすればよいですか?