如何使用;来自cloudfront的缓存控制最大年龄指令“;在AEM中?

如何使用;来自cloudfront的缓存控制最大年龄指令“;在AEM中?,aem,Aem,我需要将pdf文档的缓存持续时间设置为1小时。因此,每过一小时,PDF就会刷新一次。我在互联网上发现,我们可以使用缓存控制最大年龄头如下- Cache-Control: max-age=3600 因此,它将告诉cloudfront将PDF保存在缓存中3600秒(1小时) 但我不知道该把代码放在哪里。我需要把这个放在调度器里吗?如果是,如何进行?有人能提供一些相同的代码片段吗 此外,我们在dispatcher中包含了“expires.rules”文件,该文件包含以下代码- ExpiresActi

我需要将pdf文档的缓存持续时间设置为1小时。因此,每过一小时,PDF就会刷新一次。我在互联网上发现,我们可以使用缓存控制最大年龄头如下-

Cache-Control: max-age=3600
因此,它将告诉cloudfront将PDF保存在缓存中3600秒(1小时)

但我不知道该把代码放在哪里。我需要把这个放在调度器里吗?如果是,如何进行?有人能提供一些相同的代码片段吗

此外,我们在dispatcher中包含了“expires.rules”文件,该文件包含以下代码-

ExpiresActive on
ExpiresDefault                                      "access plus 1 month"

Header append Cache-Control "public"
Header add X-ServiceProvider "Test"

#PDF
ExpiresByType application/pdf                       "access plus 1 hour"
它和“最大年龄”头球做的是一样的吗

如果有人能解释这一点,那将非常有帮助


谢谢

标准方法是在Apaches VirutalHost定义中设置缓存头。通常,设置因文件类型和路径而异。还要确保区分作者和发布者

这里有一些例子

# Cache JS+CSS with MD5 Hash for 30 days
SetEnvIf Request_URI "^.*(\.min)?\.[a-f0-9]{25,32}\.(js|css)$" immutable_resource=true
Header set Cache-Control "public, max-age=2592000" env=immutable_resource


# Cache Images for 30 days
SetEnvIf Request_URI "^/(etc|content)/.*\.(svg|png|gif|jpeg|jpg)$" image_resource=true
Header set Cache-Control "public, max-age=2592000" env=image_resource

# Cache Fonts for 30 days
SetEnvIf Request_URI "^/etc/.*\.(eot|ttf|woff|woff2)$" font_resource=true
Header set Cache-Control "public, max-age=2592000" env=font_resource

# Cache HTML documents for 2 hours (in this example everything is served with /content/...)
SetEnvIf Request_URI "^/content/myproject/.*\.html$" html_document=true
# Treat vanity URLs as HTML documents too
SetEnvIf Request_URI "^/[A-Za-z0-9]+(\.html)?$" html_document=true
Header set Cache-Control "public, max-age=7200" env=html_document