2016-08-07 4 views
0

私はVarnish 4.1.2を使用しており、ESIコンテンツを含めることを試みています。含まれるコンテンツのURLに、'')などのエンコードされたHTMLエンティティが含まれることがあります。VarnishでエンコードされたHTMLエンティティを含むESI URLをどのように参照できますか?

例えば、私は外殻のために私のアプリで返されるHTMLに次き:

<esi:include src="/esi/map/alice&#x27;s%20house"/> 

3つのセグメントを持つパスなしクエリ文字列のためのESIリクエストでこのべき結果、完全にデコードする場合、その結果がで:

  • esi
  • map
  • alice's house

3番目のセグメントのアポストロフィは、HTMLドキュメントで送信されているため、HTMLエンコードされています。スペースはURLの一部であるため、URLエンコードされます。

しかし、ワニスはESI要求を行う前にHTMLエンコードエンティティをデコードしないようです。 の要求を送信します。これは、不正な要求です。&がパスまたはURLで有効でないためです。

これらのESIリンクを適切に処理するにはどのようにしてVarnishを取得できますか?

答えて

0

この質問をワニスGithub issue trackerに投稿しました。答えは次のとおりです。あなたはできません。

回避策は、HTMLエンティティを使用する必要性を避けるために、リンクをURLエンコードすることです。

関連する問題