2017-06-07 24 views
2

我需要將pdf文檔的緩存時間設置爲1小時。所以在每個小時後,PDF文件都會刷新。我發現了,我們可以使用緩存控制最大年齡頭爲如下─如何在AEM中使用「來自cloudfront的緩存控制最大年齡指令」?

Cache-Control: max-age=3600 

,這樣它會告訴CloudFront的保持PDF文件緩存中的3600秒(1小時)互聯網。

但我不知道該把代碼放在哪裏。我需要把這個放在調度員嗎?如果是,如何?任何人都可以提供一些相同的代碼片段嗎?

此外,我們還包括「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" 

是它做同樣的事情爲max-age頭?

如果有人能解釋這一點,這將是非常有益的。

謝謝!

回答

2

標準方法是在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 
相關問題