httpd配置ResponseHeader


  今天遇到一個問題:我把項目編譯后的靜態文件發布到開發機上,開發機使用httpd啟的靜態文件服務,頁面的訪問是在特制的殼瀏覽器里面,我更新了代碼后,發現頁面被緩存了,找到殼的RD聯調了一下,發現我的主頁html的ResponseHeader里面沒有Cache-Control字段,如何添加該字段呢,於是翻看了一些資料,把問題順利解決后,把解決問題的過程分享給大家。

  1.查找官網文檔,找到設置HTTP request and response headers的模塊,mod_headers;

  2.根據官網解釋,mod_headers模塊主要提供了兩個指令來管理request和response header;

  (1)Header 指令

  主要用於配置response header,支持替換、合並、刪除response header中的字段,基本語法如下:

Header [condition] set|append|add|unset|echo header [value] [env=[!]variable]

 

  (2)RequestHeader指令

  主要用於配置request header,支持替換、合並、刪除request header中的字段,基本語法如下:

RequestHeader [condition] set|append|add|unset header [value] [env=[!]variable]

 

  (3)指令出現的地方與優先級

  以上兩個指令幾乎可以在配置文件任意地方出現,可以在 <Directory><Location>, <Files> 部分, 可以在 .htaccess 文件中,也可以出現在虛擬主機配置中,但是有優先級的區別,官方給出的優先級:

The directives are processed in the following order:

  1. main server
  2. virtual host
  3. <Directory> sections and .htaccess
  4. <Files>
  5. <Location>

  3.了解了基本配置規則,接下來就是動手操作了。

  (1)在httpd.conf文件確保mod_headers模塊被加載

LoadModule headers_module MODULES_PATH/mod_headers.so

  (2)使用Header指令,進行set操作

<IfModule headers_module>
  Header set Cache-Control no-cache
</IfModule>

 

  經過以上三個步驟,重啟了httpd,完美解決問題。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM