問題タブ [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.
php - Symfony ESIはFORM送信のPOSTパラメータを取得するか、ESIをPOSTとして呼び出します
キャッシュすべきではないフォームを含むキャッシュされたサイトがあります。それにはESIを使用します。フォームが送信されると、コントローラーで POST パラメーターを取得する必要があります。Symfony では、実際の POST データではなく、リクエスト パラメータの「フォーム」を取得できます。または、それらを取得する良い方法はありますか。
親ページキャッシュのため、小枝でそれらを設定しても機能しません。
コントローラーで post パラメーターを取得する方法 現在、ここに示すコードは ESI データのみを取得します。
親リクエストからパラメータを取得するにはどうすればよいですか?
ハッキーなソリューション
現在、私が見つけた唯一の解決策は、あまりにもハックな
TWIG です。
PHP:
追加
少し調べてsymfonyのコアコードを調べた後、ESIをPostに変更する必要があるので、私の質問は「GETではなくPOSTメソッドとしてESIを呼び出す方法」です。
解決
投稿されたような requestStack を使用Chris Tickner
することは、投稿ソリューションのようです。
php - Symfony2 ESI: サブリクエストにプライベートレスポンスが含まれていても、レスポンスはパブリックとしてマークされます
symfony プロジェクトで ESI を有効にし、プライベート フラグメントを含むパブリックとしてマークされたホームページを提供しようとしました。
ホームページコントローラー:
ホームページの表示:
ESI コントローラー:
デバッグ モードでは、ホームページに埋め込みコンテンツが表示されますが、含まれているフラグメントが非公開としてマークされていても、応答は公開としてマークされます。プライベートでいいんじゃない?
magento - Magento Varnish キャッシュされたブロックがログイン ユーザーに表示される
私のクライアントの Magento サイトは、SuperCacher が有効化された SiteGround でホストされています。SuperCacher は、Varnish の SiteGround 最適化バージョンです。
Varnish キャッシングには、Turpentine のバージョンを使用します。
ログインしたユーザーにのみ表示される検索ブロックがあります。Varnish が有効化されている場合、このブロックは表示されません。
検索ブロックに ttl 0 を使用して af ESI ポリシーを指定すると、ログイン ユーザーとログアウト ユーザーの両方に表示されます。
このブロックをキャッシュから除外して、ログインしているユーザーにのみ表示するにはどうすればよいですか?