【问题标题】:Symfony generate cdn friendly asset urlSymfony 生成 cdn 友好的资产 url
【发布时间】:2018-05-17 22:14:03
【问题描述】:

我有一个由 cdn(例如 akamai)提供服务的 symfony 应用程序,我在模板上生成资产 URL:

{{ asset('myJs.js') }}

当我这样做时,我想生成一个类似的网址(假设该网站由 www.example.com 提供服务):

www.example.com/myJs.js?v=321321312312

v 参数获取已部署版本以强制 cdn(例如 akamai 网络)缓存我更新的版本。是动态生成v参数的好方法吗?

【问题讨论】:

  • “v 参数在哪里获取部署版本以强制 cdn(例如 akamai 网络)缓存我更新的版本。” - 你认为这有什么意义在 CDN 端进行缓存...?此技术通常用于处理 客户端 端的缓存(“缓存破坏器”,以防止客户端从缓存中提供过时的资源。)

标签: php symfony twig cdn


【解决方案1】:

如果您想将哈希附加到每个版本都保持唯一的文件,您可以使用该文件的文件修改时间或哈希。最好的方法是创建一个新的 Twig 函数 versionedAsset(),它使用 asset() 的输出并将这个哈希附加到生成的 URL

【讨论】:

    【解决方案2】:

    src="www.example.com/myJs.js?v={{ random() }}"

    【讨论】:

    • 这将为每个新请求的 URL 添加一个随机数,这样 CDN 就无法缓存它
    猜你喜欢
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 2010-11-07
    • 2010-09-25
    • 1970-01-01
    • 2016-01-13
    • 2020-05-06
    • 2017-02-13
    相关资源
    最近更新 更多