使用Apache Mod_Layout模块向网页动态插入内容

什么是Mod_Layout

Mod_Layout能在文档的头部和底部(或者一个标签的之前或之后)放置信息。使用Layout指令你可以动态地向文档的任何地方插入代码。你可以利用它把标准的免责声明增加到服务器上的所有页面,或者在所有页面的顶部放置横幅广告。Mod_Layout能处理很多种类型的文档,如html,text, CGI, Java, PHP or Perl。更多的功能需要你去挖掘。

如何安装

Mod_Layout适用于Apache 1.3 Apache 2 Apache 2.2,对于这三个版本都有对应的Mod_Layout版本下载。
mod_layout-3.1适用Apache 1.3
mod_layout-4.1适用Apache 2
mod_layout-5.1适用Apache 2.2
这三个版本都可以在http://download.tangent.org/下载。
不同的版本安装方式有些许区别,下面以Apache 2.2为例。
1、下载适合的Mod_Layout版本

  1. wget http://download.tangent.org/mod_layout-5.1.tar.gz
  2. tar xvfz mod_layout-5.1.tar.gz
  3. cd mod_layout-5.1

2、编辑Makefile文件

  1. APXS=apxs
  2. APACHECTL=apachectl
  3. CC=`apxs -q CC`
  4. INC=-I`apxs -q INCLUDEDIR` `$(APXS) -q CFLAGS` #-DLAYOUT_FILEOWNER_NAME
  5. LD_SHLIB=`apxs -q LDFLAGS_SHLIB`

主要是保证APXS和APACHECTL的路径有效。
3、开始安装

  1. make
  2. make install

如何使用

在使用之前,请确认你想插入代码的网页是否启用gzip压缩,如果启用,Mod_layout将不能正常工作。
下面是启用mod_layout的一个例子

  1. <virtualHost *:80> 
  2.     AllowOverride None 
  3.     Order allow,deny 
  4.     Allow from all 
  5. <Directory /home/foo/public_html>
  6.        AllowOverride None
  7.        Options SymLinksIfOwnerMatch
  8.        AddOutputFilter LAYOUT html
  9.        LayoutFooter /menu.html
  10.        LayoutIgnoreURI /diary/*
  11.        LayoutIgnoreURI /linux/*
  12. </Directory>
  13. </VirtualHost>

说明:
AddOutputFilter LAYOUT html:启动mod_layout的网页类型为html,你也可以添加php,shtml等
LayoutFooter /menu.html:添加到文档尾的文件menu.html。
LayoutIgnoreURI /diary/*:排除diary目录下的文档。
更多指令:http://www.musc.edu/webserver/mod_layout.html#_1_9

标签:Apache 发布于:2019-10-13 22:14:33