技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营

赞助商

分类目录

赞助商

最新文章

搜索

介绍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

启用 headers_module

2)、添加自定义的header信息

httpd.conf 内容的最后面添加自定义的header信息:

Header always append myHeader "123"

添加自定义的header信息

添加自定义的header信息

我们还可以只给某个目录的网页添加自定义header信息,其他目录不添加。

只给某目录的网页添加header

只给某目录的网页添加header

上述代码中 D:/Apache2.2/htdocs/ 是网站根目录,而 /tags/ 是网站的一个目录。

3)、查看header是否生效

通过浏览器访问,使用开发者工具查看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 名称,可以包含最后的冒号,但不是必需的。对于 setappendaddunset,大小写是忽视的,但 echoheader 名称是大小写敏感的,并且可以是正则表达式。

标签: apache  header  
  • IT热文
  • 站长推荐