Ответ 1
Включает опцию assets_base_urls, которая позволяет вам устанавливать домены ресурсов.
Я пытаюсь оптимизировать свой проект, чтобы избежать отправки файлов cookie со статическими ресурсами (например, изображения, скрипты, таблицы стилей и т.д.). Мой подход заключается в создании домена static.my-domain.com для обслуживания оттуда всех статических ресурсов без куки файлов.
Как загрузить ресурсы из этого домена с помощью Symfony2 с помощью актива?
Я использую Symfony 2.1 RC2
Включает опцию assets_base_urls, которая позволяет вам устанавливать домены ресурсов.
Я добавил несколько глобальных глобулов, чтобы справиться с этим
# config.yml
framework:
templating:
engines: ['twig']
assets_version: 'dev'
assets_version_format: "%%2$s/%%1$s"
session:
cookie_domain: %session.cookie_domain%
twig:
globals:
assets_version: dev
static_assets_base_url: %static_assets_base_url%
static_images_base_url: %static_images_base_url%
static_image: %static_images_base_url%/dev/ # I didn't know how to reference the assets_version, so this is the same value
static_content: %static_images_base_url%/
# parameters.yml
parameters:
session.cookie_domain: .myapp.dev
static_assets_base_url: http://myapp-static.dev
static_images_base_url: http://myapp-static.dev/path/to/web
{{ static_assets_base_url ~ asset_url }}
.{{ static_image ~ 'bundles/mybundle/img/icon.jpg' }}
.{{ static_content ~ 'content/img/upload-123.jpg' }}
.Я точно не помню, почему я это сделал, но это было связано с сложными ошибками (какой сюрприз). Он просто не может правильно обрабатывать пути, например, иногда он не добавляет версию, или делает это неправильно.
Будет больно, если вам придется вручную модифицировать версию активов, поэтому вам лучше иметь развертывание script, готовое для этого.
О, и помните, что Assetic не будет сбрасывать скомпилированные активы в указанных каталогах, это известная проблема. Таким образом, вы должны добавить свои собственные символические ссылки для этих каталогов.
ИЗМЕНИТЬ
Параметр 'session.cookie_domain' позволяет использовать тот же домен и избегать куки файлов, если ваше приложение находится в субдомене. Если ваше приложение не использует субдомен, вам придется использовать отдельный домен для статических активов.