nginx expires if_modified

wang_0720發表於2013-11-05
nginx用expires對頁面進行快取時要配合if_modified,在nginx的一些模組中對http header進行了過濾使得expires無法生效。比如ssi和sub模組,在編譯的時候要將這兩個模組中的對應過濾http頭功能註釋。
vim ngx_http_ssi_filter_module.c
......
if (r == r->main) {
 
       ngx_http_clear_content_length(r);
        ngx_http_clear_last_modified(r); 註釋這句
        ngx_http_clear_accept_ranges(r);
    }
......
vim ngx_http_sub_filter_module.c
......
 if (r == r->main) {
        ngx_http_clear_content_length(r);
        ngx_http_clear_last_modified(r); 註釋這句
    }
......
註釋clear_last_modified語句,然後編譯nginx
nginx中對global-events-1,global-analyzes-2,global-pulse-3及feature下的檔案進行快取設定
vim nginx.conf
location ~ /(global-events-1|global-analyzes-2|global-pulse-3|feature) {
           if ( !-f $request_filename )
              {
               proxy_pass
              }
             expires 30d;
         }

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27181165/viewspace-775761/,如需轉載,請註明出處,否則將追究法律責任。

相關文章