我能够使用Zend 2 Module AssetManager(link)使用以下代码块缩小CSS文件,但是有缓存问题。如何配置它来缓存CSS文件?
我看到Firebug中的CSS文件的HTTP状态为200 OK。如果CSS文件被缓存,则应该是304 Not Modified。
请注意,Apache Web服务器对“public”目录以及目录内的任何内容都具有读写权限。
'asset_manager' => array(
'resolver_configs' => array(
'paths' => array(
__DIR__ . '/../public'
)
),
'filters' => array(
'css/a.css' => array(
array(
'filter' => 'UglifyCss'
)
)
),
'caching' => array(
'a.css' => array(
'cache' => 'FilePath',
'options' => array(
'dir' => __DIR__ . '/../public'
)
)
)
)
答案 0 :(得分:2)
如果CSS文件被缓存,则应该是304 Not Modified。
不,如果您在配置中配置了浏览器缓存,那么它应该只有304。如果在AsseticModule中配置浏览器缓存,则只会将缩小和组合的css / js文件缓存在您的系统上,而不是在每个请求上生成。
将这样的内容放在公共文件夹下的.htaccess中。
# ----------------------------------------------------------------------
# Expires headers (for better cache control)
# ----------------------------------------------------------------------
<IfModule mod_expires.c>
# Mod aktivieren
ExpiresActive on
# Standard Cache
ExpiresDefault "access plus 1 minute"
# Media
ExpiresByType image/gif "access plus 1 minute"
ExpiresByType image/jpeg "access plus 1 minute"
ExpiresByType image/jpg "access plus 1 minute"
ExpiresByType image/png "access plus 1 minute"
ExpiresByType application/javascript "access plus 1 minute"
ExpiresByType text/css "access plus 1 minute"
</IfModule>