swordfox/silverstripe-cdnrewrite-plus

自动重写媒体和资源的URL,以使用CDN

安装: 55

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:silverstripe-vendormodule

1.0.1 2024-06-06 22:01 UTC

This package is auto-updated.

Last update: 2024-09-06 22:38:49 UTC


README

提供一个简单的方法来重写资产和资源的URL,以便使用子域名或外部CDN服务

请参阅下面的配置说明,了解如何设置此模块的示例。

要求

  • Silverstripe 4.x
  • Silverstripe 5.x

安装

  • 使用以下命令安装代码:composer require swordfox/silverstripe-cdnrewrite-plus "^1"
  • 运行 dev/build?flush 以更新您的项目

使用

除非您进行一些配置,否则该模块不会对您的网站进行任何更改。您可以在yml文件中设置一些选项

---
Name: cdnconfig
---

Swordfox\CDNRewritePlus\CDNMiddleware:
  cdn_rewrite: true
  cdn_domain: 'https://cdn.example.com'
  add_debug_headers: true
  enable_in_dev: true
  subdirectory: ''
  add_prefetch: true
  rewritelinks: true
  rewritebgattr: true
  assetprefix: 'site-'
  rewrites:
    - 'assets'
    - 'site-resources'

这些选项应该是相当直观的

  • cdn_rewrite - 全局启用和禁用模块(默认为false - 禁用)
  • cdn_domain - CDN的完整域名(启用模块所必需)
  • add_debug_headers - 如果启用,将添加额外的HTML标题以显示正在应用的各种操作(默认为false)
  • enable_in_dev - 在开发模式下启用CDN(默认为false)
  • subdirectory - 如果您的网站位于子目录中,请设置此选项(例如,对于http://www.example.com/silverstripe - 将此设置为'silverstripe')
  • add_prefetch - 如果您希望模块自动将<link rel="dns-prefetch">标签添加到HTML标题以改进性能,请将此设置为true
  • rewritelinks - 如果您的CDN不支持所有文件类型,例如PDF,请将此设置为false
  • rewritebgattr - 重写background-image: url()路径
  • assetprefix - 为共享CDN添加资产目录的前缀,例如https://cdn.example.com/site-assets/image.jpg
  • rewrites - 这是一个您希望重写的URL前缀列表。默认情况下,CMS 4在公共结构中的_resoures目录公开内容,因此您可能希望将其作为最低要求。您可以在此处添加所需数量的附加条目。

注意

  • 该模块在CMS / 管理系统中被禁用,因此在这里不会发生重写
  • 当启用时,该模块将始终添加一个HTTP标题X-CDN: Enabled以显示它正在工作,即使没有执行其他重写操作。如果不存在此标题且您认为应该存在,请确保您已将cdn_rewrite设置为true,已指定配置文件中的cdn_domain,并且在开发模式下测试时已将enable_in_dev设置为true。

致谢