介绍linux和windows Apache添加网页header信息
作者:admin 时间:2018-2-6 11:53:26 浏览:本文分别介绍在linux和windows系统Apache是如何添加网页header信息的。
linux Apache添加网页header信息
1)、首先要安装mod_headers.c模块。
进入lamp源代码安装目录 modules/metadata
:
[root@localhost ~]# cd /lamp/httpd-2.2.20/modules/metadata
执行 ls | grep
命令,我们发现有几个文件:
mod_headers.c
mod_headers.dep
mod_headers.dsp
mod_headers.exp
mod_headers.mak
我们需要的是 mod_headers.c
。
然后用apxs工具添加模块(注意apxs的路径是在apache安装目录下):
[root@localhost metadata]# /usr/local/apache2/bin/apxs -i -a -c mod_headers.c
稍等片刻,安装完毕后重启httpd服务。
service httpd restart
2)、自定义网页header信息
修改Apache配置文件httpd.conf(注意httpd.conf在apache安装目录的conf文件夹下):
[root@localhost]# vim /usr/local/apache2/conf/httpd.conf
<IFModule mod_headers.c>
Header add MyHeader "hello"
</IFModule>
添加完后立即测试:
[root@localhost]# curl -I 192.168.0.10/test.php
HTTP/1.1 200 OK
Date: Sat, 19 Apr 2014 02:45:13 GMT
Server: Apache/2.2.16 (Unix) PHP/5.3.27
X-Powered-By: PHP/5.3.27
MyHeader: hello //自定义的header
Content-Type: text/html
windows Apache添加网页header信息
1)、首先启用 headers_module
打开Apache配置文件httpd.conf
,此文件在Apache安装目录下的 conf 文件夹里,然后把 #LoadModule headers_module
前面的 #
去掉。
启用 headers_module
2)、添加自定义的header信息
在 httpd.conf
内容的最后面添加自定义的header信息:
Header always append myHeader "123"
添加自定义的header信息
我们还可以只给某个目录的网页添加自定义header信息,其他目录不添加。
只给某目录的网页添加header
上述代码中 D:/Apache2.2/htdocs/
是网站根目录,而 /tags/
是网站的一个目录。
3)、查看header是否生效
通过浏览器访问,使用开发者工具查看header是否生效。
查看header是否生效(点击图片放大)
你也可以直接使用在线工具查看网页header信息,如:http://pagespeed.webkaka.com/youhua/gzip/,你还可以使用本机 Telnet 命令查看网页header信息。
知识扩展:设置 header 指令
描述: 配置HTTP响应头
句法: Header [condition] set|append|add|unset|echo header [value] [env=[!]variable]
该指令可以替换,合并或删除HTTP响应头。在内容处理程序和输出过滤器运行之后,头文件被修改,允许修改传出头文件。
可选条件可以是 onsuccess
或者 always
。它确定应该操作哪个内部头表。onsuccess
代表 2xx状态码而 always
代表所有状态码(包括2xx)。特别是如果你想取消设置某些模块的头文件,你应该试试,哪个表会受到影响。
它执行的动作由第二个参数决定。这可以是以下值之一:
set
响应标题被设置,用这个名字替换任何以前的标题。该值可以是格式字符串。
append
响应头被追加到任何现有的相同名称的头。当一个新的值被合并到一个已经存在的头上时,它将与逗号分开。这是给标题多个值的HTTP标准方式。
add
响应标题被添加到现有的标题集,即使这个标题已经存在。这可能会导致两个(或更多)标题具有相同的名称。这可能会导致不可预见的后果,应该使用“附加”来代替。
unset
如果该名称存在,则会删除该名称的响应标题。如果有多个相同名称的标题,则全部将被删除。
echo
带有这个名字的请求头在回应头中回显。标题可能是一个正则表达式。
该参数后面跟着一个 header 名称,可以包含最后的冒号,但不是必需的。对于 set,append,add 和unset,大小写是忽视的,但 echo 的 header 名称是大小写敏感的,并且可以是正则表达式。
- 站长推荐