简体   繁体   English

Apache缓存JS CSS文件

[英]Apache Caching JS CSS Files

I have enabled mod_cache, mod_expires, mod_headers modules in my httpd.conf and also added following text 我在httpd.conf中启用了mod_cache,mod_expires,mod_headers模块,并添加了以下文本

 ExpiresActive On


<ifModule mod_deflate.c>
  <filesMatch "\.(css|js|x?html?|php)$">
    SetOutputFilter DEFLATE
  </filesMatch>
</ifModule>



<ifModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 1 seconds"
  ExpiresByType image/x-icon "access plus 2592000 seconds"
  ExpiresByType image/jpeg "access plus 2592000 seconds"
  ExpiresByType image/png "access plus 2592000 seconds"
  ExpiresByType image/gif "access plus 2592000 seconds"
  ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
  ExpiresByType text/css "access plus 604800 seconds"
  ExpiresByType text/javascript "access plus 216000 seconds"
  ExpiresByType application/javascript "access plus 216000 seconds"
  ExpiresByType application/x-javascript "access plus 216000 seconds"
  ExpiresByType text/html "access plus 600 seconds"
  ExpiresByType application/xhtml+xml "access plus 600 seconds"
</ifModule>



<ifModule mod_headers.c>
  <filesMatch "\.(ico|jpe?g|png|gif|swf)$">
    Header set Cache-Control "max-age=2592000, public"
  </filesMatch>
  <filesMatch "\.(css)$">
    Header set Cache-Control "max-age=604800, public"
  </filesMatch>
  <filesMatch "\.(js)$">
    Header set Cache-Control "max-age=216000, public"
  </filesMatch>
  <filesMatch "\.(x?html?|php)$">
    Header set Cache-Control "max-age=600, public"
  </filesMatch>
</ifModule>



<ifModule mod_headers.c>
  Header unset ETag
</ifModule>
FileETag None



<ifModule mod_headers.c>
  Header unset Last-Modifiedd
</ifModule>


<IfModule mod_cache.c>

LoadModule mem_cache_module modules/mod_mem_cache.so
<IfModule mod_mem_cache.c>
CacheEnable mem /
MCacheSize 4096
MCacheMaxObjectCount 100
MCacheMinObjectSize 1
MCacheMaxObjectSize 2048
</IfModule>
</IfModule> 

but files are not caching. 但文件不是缓存。 I get headers information like 我得到标题信息

 Response
Date    Tue, 23 Aug 2011 11:30:09 GMT
Server  Apache/2.2.19 (Win32) PHP/5.3.6
Last-Modified   Mon, 22 Aug 2011 21:24:19 GMT
Accept-Ranges   bytes
Cache-Control   max-age=216000, public
Expires Thu, 25 Aug 2011 23:30:09 GMT
Vary    Accept-Encoding
Content-Encoding    gzip
Content-Length  2875
Keep-Alive  timeout=5, max=100
Connection  Keep-Alive
Content-Type    application/javascript

Request Headers

Host    workflowsf.com
User-Agent  Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
Accept  */*
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip, deflate
Accept-Charset  ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive  115
Connection  keep-alive

Have u any idea where I am wrong? 你知道我哪里错了吗? Thanks in advance 提前致谢

That looks like a fairly good config. 这看起来像一个相当不错的配置。 You have a typo with your Header unset Last-Modifiedd and also you probably don't need the first line as it is a duplicate of the line inside <ifModule mod_expires.c> and that is a better place for it. 您的Header unset Last-Modifiedd并且您可能不需要第一行,因为它是<ifModule mod_expires.c>中的行的副本,这是一个更好的地方。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM