静态图像上的缓存过期

时间:2010-01-19 22:31:08

标签: php caching

我有一个php网站使用html5在godaddy上的linux服务器上运行。我需要在静态图像和css文件上设置缓存过期日期。我还需要gzip一个css文件,似乎无法找到正确的语法。我不确定我是不是太复杂或什么。我是否正确认为我可以在我的php页面顶部使用过期标头完成此操作?我感到迷茫,我知道自己在做什么!我无法控制服务器。

5 个答案:

答案 0 :(得分:3)

如果你可以控制服务器,这绝对是可能的,如果你在共享主机上,也可以通过.htaccess实现。

尝试以下问题:

答案 1 :(得分:2)

Godaddy非常令人沮丧。我一直在寻找一种方法来使用与Godaddy托管的expires标头一段时间并且还没有找到解决方案。

我在htaccess中有以下内容('A2592000'表示1个月),它适用于其他主机,但不适用于Godaddy :(

ExpiresActive On
ExpiresDefault A0
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpg A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/ico A2592000
ExpiresByType text/css A2592000
ExpiresByType text/javascript A2592000

答案 2 :(得分:1)

我有完全相同的问题。与GoDaddy的灾难。永远不会更多他们的托管:(

但我找到了解决方案: https://support.godaddy.com/help/article/6908/enabling-mod_expires-with-your-hosting-account?locale=en

我不知道你如何管理托管,但我使用FileZila连接到FTP。因此,在连接到FTP后,您可以重写.htaccess文件:)所以下载原始文件并在以下后添加此代码:

<IfModule mod_expires.c>
# Activate mod_expires for this directory
ExpiresActive on

# locally cache common image types for 7 days
ExpiresByType image/jpg "access plus 7 days"
ExpiresByType image/jpeg "access plus 7 days"
ExpiresByType image/gif "access plus 7 days"
ExpiresByType image/png "access plus 7 days"

# cache CSS files for 24 hours
ExpiresByType text/css "access plus 24 hours"

我希望这会对你有所帮助。 (它帮助了我:D)

答案 3 :(得分:0)

你可以试试这个

<FilesMatch "\.(jpg|png|gif)$">
ExpiresDefault A0
Header set Cache-Control "max-age=0,  no-cache, must-revalidate"
</FilesMatch> 

这意味着,到期日期是访问时刻,并将标题设置为0值。

如您所见,此处您可以添加更多文件类型

/ via http://blog.simplemediacode.com/cache-expiration-on-static-images-and-content-with-htaccess/

答案 4 :(得分:0)

你正在寻找这样的东西:

Header set Cache-Control "max-age=2678400"

其中max-age以秒为单位。

另外,如果您的内容仍未被缓存,请在Why isn't my javascript & css caching?阅读我的帖子以获取额外的cache-config-magic。