dorsetdigital / silverstripe-cdnrewrite

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

安装数: 9,339

依赖项: 0

建议者: 0

安全: 0

星标: 8

关注者: 4

分支: 5

开放问题: 3

类型:silverstripe-vendormodule

v2.0.1 2021-01-19 10:46 UTC

This package is auto-updated.

Last update: 2024-09-19 18:48:54 UTC


README

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

Scrutinizer Code Quality Build Status License Version

V2

请注意,V2分支引入了新的配置语法。如果您正在使用模块的V1版本,您需要更改它才能正确工作。请参阅下面的配置说明,了解如何设置此模块的示例。

要求

*Silverstripe 4.x

安装

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

使用

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

---
Name: cdnconfig
---

DorsetDigital\CDNRewrite\CDNMiddleware:
  cdn_rewrite: true
  cdn_domain: 'https://cdn.example.com'
  add_debug_headers: true
  enable_in_dev: true
  subdirectory: ''
  add_prefetch: true
  rewrites:
    - '_resources'
    - 'client'

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

  • 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
  • rewrites - 这是您希望重写的URL前缀列表。默认情况下,CMS 4在公共结构中暴露了位于_resources目录中的内容,所以您可能希望将其作为最低要求。您可以根据需要添加尽可能多的额外条目。

注意

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

致谢