首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缓存-控制仅用于媒体文件,而不是使用Django -管道服务的静态文件在Django

缓存-控制仅用于媒体文件,而不是使用Django -管道服务的静态文件在Django
EN

Stack Overflow用户
提问于 2014-09-13 08:51:59
回答 1查看 823关注 0票数 0

我正在尝试对我的静态文件使用缓存控制。下面是我对.htaccess文件的代码

代码语言:javascript
复制
# 1 YEAR
<FilesMatch "\.(ico|svg|woff|eot|ttf)$">
Header set Cache-Control "max-age=31536000, public"
</FilesMatch>

# 1 WEEK
<FilesMatch "\.(jpg|png|gif|css|js)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>

我使用Django-管道压缩我的JS和CSS文件。以下是我的相关settings.py

代码语言:javascript
复制
MEDIA_ROOT = '/home/jaskaran/edmhunters/media'
MEDIA_URL = '/media/'

STATIC_ROOT = '/home/jaskaran/edmhunters/static'
STATIC_URL = '/static/'

STATICFILES_DIRS = (
    root('hunt/static'),
)

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)

STATICFILES_STORAGE = 'pipeline.storage.PipelineCachedStorage'

使用redbot.org测试媒体文件URL提供如下内容

代码语言:javascript
复制
HTTP/1.1 200 OK
    Date: Sat, 13 Sep 2014 08:46:35 GMT
    Server: Apache/2.4.7 (Ubuntu)
    Last-Modified: Wed, 10 Sep 2014 17:57:24 GMT
    ETag: "4b6d-502b9c8c3966e"
    Accept-Ranges: bytes
    Content-Length: 19309
    Cache-Control: max-age=604800, public
    Keep-Alive: timeout=5, max=100
    Connection: Keep-Alive
    Content-Type: image/jpeg

对于静态文件,这是它输出的内容。

代码语言:javascript
复制
HTTP/1.1 200 OK
    Date: Sat, 13 Sep 2014 08:49:12 GMT
    Server: Apache/2.4.7 (Ubuntu)
    Last-Modified: Tue, 26 Aug 2014 05:43:32 GMT
    ETag: 1409031812.69
    Content-Length: 23907
    Keep-Alive: timeout=5, max=99
    Connection: Keep-Alive
    Content-Type: image/png

知道我错过了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-14 18:33:29

您正在服务来自django (通过django-管道)的静态文件,但服务于web服务器。那么.htaccess指令就没有效果了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25821494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档