2010-09-14 37 views
1

我在Apache配置和緩存中很新。我想在Apache中設置一些頭文件(例如max-age,min-fresh,last modified等)。Apache Caching:如何在Apache 2+中配置響應頭。

有檢查模塊是這裏,這裏安裝並加載....

已編輯httpd.conf文件並重新開始製作關於緩存頭的一些變化後的相同。

例如

<FilesMatch "\.(ico|pdf|flv|jpe?g|png|gif|js|css|swf)$"> 

    ExpiresActive On 

    ExpiresDefault "access plus 1 year" 
</FilesMatch>` 



Header unset ETag 
FileETag None 
<FilesMatch "(?i)^.*\.(ico|flv|jpg|jpeg|png|gif|js|css)$"> 
    Header unset Last-Modified 
    Header set Expires "Fri, 21 Dec 2012 00:00:00 GMT" 
    Header set Cache-Control "public, no-transform" 
</FilesMatch> 

甚至嘗試了不同的其他事情,當我試圖檢查客戶端(MSIE和Mozilla)的響應。這些標題都沒有迴應。

LoadModule foo_module modules/mod_foo.so 

LoadModule auth_basic_module modules/mod_auth_basic.so 
LoadModule auth_digest_module modules/mod_auth_digest.so 
LoadModule authn_file_module modules/mod_authn_file.so 
LoadModule include_module modules/mod_include.so 
LoadModule log_config_module modules/mod_log_config.so 
LoadModule logio_module modules/mod_logio.so 
LoadModule env_module modules/mod_env.so 
LoadModule ext_filter_module modules/mod_ext_filter.so 
LoadModule mime_magic_module modules/mod_mime_magic.so 
LoadModule expires_module modules/mod_expires.so 
LoadModule headers_module modules/mod_headers.so 
LoadModule dav_module modules/mod_dav.so 
LoadModule status_module modules/mod_status.so 
LoadModule autoindex_module modules/mod_autoindex.so 
LoadModule info_module modules/mod_info.so 
LoadModule dav_fs_module modules/mod_dav_fs.so 
# ...... 
LoadModule cache_module modules/mod_cache.so 
LoadModule suexec_module modules/mod_suexec.so 
LoadModule disk_cache_module modules/mod_disk_cache.so 
LoadModule file_cache_module modules/mod_file_cache.so 
LoadModule mem_cache_module modules/mod_mem_cache.so 
LoadModule cgi_module modules/mod_cgi.so 
and these are located on specific directory .... 
(shows the desired output -- ls /etc/httpd/modules | egrep "headers|expire") 

這些是我所做的唯一改變。請讓我知道,如果我爲失去了一些東西或者做錯了什麼,

回答

0

不知道爲什麼你的配置是工作不正常,但是....

比省略的eTag和最後修改更好的解決方案響應是從請求中刪除if-none-match和if-modified_since。

我期望ExpiresDefault設置具有所需的效果,但是我只使用了ExpiresByType設置(這些適用於我)。您的第一個塊還應包含適當的緩存控制標頭(max-age)。

爲什麼第二塊?

您是否在啓動時檢查了您的error_log?

10

由於沒有設置MIME類型,因此失效可能不起作用。您顯示的mime_magic_module模塊/ mod_mime_magic.so已加載,但您仍然可以使用AddType,然後使用ExpiresByType而不是FilesMatch。你還應該在Cache-Control「Public」之前將Pragma設置爲「public」。

這裏是我使用的bullet proof expires,gzip,FileEtag和緩存控件。它適用於大多數Apache配置。

<IfModule mod_mime.c> 
    AddType text/css .css 
    AddType application/x-javascript .js 
    AddType text/html .html .htm 
    AddType text/richtext .rtf .rtx 
    AddType image/svg+xml .svg .svgz 
    AddType text/plain .txt 
    AddType text/xsd .xsd 
    AddType text/xsl .xsl 
    AddType text/xml .xml 
    AddType video/asf .asf .asx .wax .wmv .wmx 
    AddType video/avi .avi 
    AddType image/bmp .bmp 
    AddType application/java .class 
    AddType video/divx .divx 
    AddType application/msword .doc .docx 
    AddType application/x-msdownload .exe 
    AddType image/gif .gif 
    AddType application/x-gzip .gz .gzip 
    AddType image/x-icon .ico 
    AddType image/jpeg .jpg .jpeg .jpe 
    AddType application/vnd.ms-access .mdb 
    AddType audio/midi .mid .midi 
    AddType video/quicktime .mov .qt 
    AddType audio/mpeg .mp3 .m4a 
    AddType video/mp4 .mp4 .m4v 
    AddType video/mpeg .mpeg .mpg .mpe 
    AddType application/vnd.ms-project .mpp 
    AddType application/vnd.oasis.opendocument.database .odb 
    AddType application/vnd.oasis.opendocument.chart .odc 
    AddType application/vnd.oasis.opendocument.formula .odf 
    AddType application/vnd.oasis.opendocument.graphics .odg 
    AddType application/vnd.oasis.opendocument.presentation .odp 
    AddType application/vnd.oasis.opendocument.spreadsheet .ods 
    AddType application/vnd.oasis.opendocument.text .odt 
    AddType audio/ogg .ogg 
    AddType application/pdf .pdf 
    AddType image/png .png 
    AddType application/vnd.ms-powerpoint .pot .pps .ppt .pptx 
    AddType audio/x-realaudio .ra .ram 
    AddType application/x-shockwave-flash .swf 
    AddType application/x-tar .tar 
    AddType image/tiff .tif .tiff 
    AddType audio/wav .wav 
    AddType audio/wma .wma 
    AddType application/vnd.ms-write .wri 
    AddType application/vnd.ms-excel .xla .xls .xlsx .xlt .xlw 
    AddType application/zip .zip 
</IfModule> 
<IfModule mod_expires.c> 
    ExpiresActive On 
    ExpiresByType text/css A31536000 
    ExpiresByType application/x-javascript A31536000 
    ExpiresByType text/html A3600 
    ExpiresByType text/richtext A3600 
    ExpiresByType image/svg+xml A3600 
    ExpiresByType text/plain A3600 
    ExpiresByType text/xsd A3600 
    ExpiresByType text/xsl A3600 
    ExpiresByType text/xml A3600 
    ExpiresByType video/asf A31536000 
    ExpiresByType video/avi A31536000 
    ExpiresByType image/bmp A31536000 
    ExpiresByType application/java A31536000 
    ExpiresByType video/divx A31536000 
    ExpiresByType application/msword A31536000 
    ExpiresByType application/x-msdownload A31536000 
    ExpiresByType image/gif A31536000 
    ExpiresByType application/x-gzip A31536000 
    ExpiresByType image/x-icon A31536000 
    ExpiresByType image/jpeg A31536000 
    ExpiresByType application/vnd.ms-access A31536000 
    ExpiresByType audio/midi A31536000 
    ExpiresByType video/quicktime A31536000 
    ExpiresByType audio/mpeg A31536000 
    ExpiresByType video/mp4 A31536000 
    ExpiresByType video/mpeg A31536000 
    ExpiresByType application/vnd.ms-project A31536000 
    ExpiresByType application/vnd.oasis.opendocument.database A31536000 
    ExpiresByType application/vnd.oasis.opendocument.chart A31536000 
    ExpiresByType application/vnd.oasis.opendocument.formula A31536000 
    ExpiresByType application/vnd.oasis.opendocument.graphics A31536000 
    ExpiresByType application/vnd.oasis.opendocument.presentation A31536000 
    ExpiresByType application/vnd.oasis.opendocument.spreadsheet A31536000 
    ExpiresByType application/vnd.oasis.opendocument.text A31536000 
    ExpiresByType audio/ogg A31536000 
    ExpiresByType application/pdf A31536000 
    ExpiresByType image/png A31536000 
    ExpiresByType application/vnd.ms-powerpoint A31536000 
    ExpiresByType audio/x-realaudio A31536000 
    ExpiresByType application/x-shockwave-flash A31536000 
    ExpiresByType application/x-tar A31536000 
    ExpiresByType image/tiff A31536000 
    ExpiresByType audio/wav A31536000 
    ExpiresByType audio/wma A31536000 
    ExpiresByType application/vnd.ms-write A31536000 
    ExpiresByType application/vnd.ms-excel A31536000 
    ExpiresByType application/zip A31536000 
</IfModule> 
<IfModule mod_deflate.c> 
    <IfModule mod_setenvif.c> 
     BrowserMatch ^Mozilla/4 gzip-only-text/html 
     BrowserMatch ^Mozilla/4\.0[678] no-gzip 
     BrowserMatch \bMSIE !no-gzip !gzip-only-text/html 
     BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html 
    </IfModule> 
    <IfModule mod_headers.c> 
     Header append Vary User-Agent env=!dont-vary 
    </IfModule> 
    AddOutputFilterByType DEFLATE text/css application/x-javascript text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon 
</IfModule> 
<FilesMatch "\.(css|js)$"> 
    <IfModule mod_headers.c> 
     Header set Pragma "public" 
     Header set Cache-Control "public, must-revalidate, proxy-revalidate" 
    </IfModule> 
    FileETag MTime Size 
</FilesMatch> 
<FilesMatch "\.(html|htm|rtf|rtx|svg|svgz|txt|xsd|xsl|xml)$"> 
    <IfModule mod_headers.c> 
     Header set Pragma "public" 
     Header set Cache-Control "public, must-revalidate, proxy-revalidate" 
    </IfModule> 
    FileETag MTime Size 
</FilesMatch> 
<FilesMatch "\.(asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|swf|tar|tif|tiff|wav|wma|wri|xla|xls|xlsx|xlt|xlw|zip)$"> 
    <IfModule mod_headers.c> 
     Header set Pragma "public" 
     Header set Cache-Control "public, must-revalidate, proxy-revalidate" 
    </IfModule> 
    FileETag MTime Size 
</FilesMatch>