私はVarnish 4.1.2を使用しており、ESIコンテンツを含めることを試みています。含まれるコンテンツのURLに、'
('
)などのエンコードされたHTMLエンティティが含まれることがあります。VarnishでエンコードされたHTMLエンティティを含むESI URLをどのように参照できますか?
例えば、私は外殻のために私のアプリで返されるHTMLに次き:
<esi:include src="/esi/map/alice's%20house"/>
3つのセグメントを持つパスなしクエリ文字列のためのESIリクエストでこのべき結果、完全にデコードする場合、その結果がで:
esi
map
alice's house
3番目のセグメントのアポストロフィは、HTMLドキュメントで送信されているため、HTMLエンコードされています。スペースはURLの一部であるため、URLエンコードされます。
しかし、ワニスはESI要求を行う前にHTMLエンコードエンティティをデコードしないようです。 の要求を送信します。これは、不正な要求です。&
がパスまたはURLで有効でないためです。
これらのESIリンクを適切に処理するにはどのようにしてVarnishを取得できますか?