• 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,完美解决问题。

  • 相关阅读:
    正则表达式随笔
    linux 命令大全
    oracle merge into
    存储过程else if
    存储过程 loop
    存储过程 函数
    存储过程使用集合来存储查询
    存储过程使用游标和索引
    存储过程使用%rowtype定义游标类型的变量提取emp数据
    ORACLE 存储过程 like 样例
  • 原文地址:https://www.cnblogs.com/wmhuang/p/6833173.html
Copyright © 2020-2023  润新知