我有一个php网站使用html5在godaddy上的linux服务器上运行。我需要在静态图像和css文件上设置缓存过期日期。我还需要gzip一个css文件,似乎无法找到正确的语法。我不确定我是不是太复杂或什么。我是否正确认为我可以在我的php页面顶部使用过期标头完成此操作?我感到迷茫,我知道自己在做什么!我无法控制服务器。
答案 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的灾难。永远不会更多他们的托管:(
我不知道你如何管理托管,但我使用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。