2016-08-07 3 views
0

Я использую Varnish 4.1.2 и пытаюсь включить ESI-контент. Иногда URL-адрес для включенного содержимого может включать кодированные HTML-объекты, такие как ' (').Как я могу ссылаться на ESI-URL, который включает кодированный объект HTML с помощью лака?

Например, я следующий в HTML, возвращаемый мое приложение для внешней оболочки:

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

Этот должен результат в запросе ESI для пути с 3-х сегментов и без строки запроса, которая при полностью декодированы, в результате:

  • esi
  • map
  • alice's house

Апостроф в третьем сегменте кодируется HTML, поскольку он передается в документе HTML. Пространство кодируется URL-адресом, поскольку оно является частью URL-адреса.

Тем не менее, Varnish, кажется, не расшифровывает объект, закодированный в HTML, перед выполнением запроса ESI. Он отправляет запрос для /esi/map/alice&#x27;s%20house, что является плохим запросом, потому что & не является законным по пути или URL-адресу.

Как я могу получить лак для правильного обращения с этими ESI-ссылками?

ответ

0

В результате я поставил этот вопрос на лак Github issue tracker, и, похоже, ответ таков: вы не можете.

Обходной путь заключается в URL-кодировании ссылки, чтобы избежать необходимости использования объектов HTML.

 Смежные вопросы

  • Нет связанных вопросов^_^