SSI (Server Side Includes)是HTML页面中的指令,在页面被提供时由服务器进行运算,以对现有HTML页面增加动态生成的内容,而无须通过CGI程序提供其整个页面,或者使用其他动态技术。
并不是所有文件中的SSI指令都会被解析,所以,必须告诉Apache应该解析哪些文件。
配置如下:
在http.conf文件中找到下面两行把#去掉
#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml
然后搜索“Options Indexes FollowSymLinks”
在搜索到的那一行后面添加“ Includes”
即将该行改变为 Options Indexes FollowSymLinks Includes
保存httpd.conf,重起apache即可。
SSI指令有如下语法:
<!--#element attribute=value attribute=value ... -->
其格式很象HTML的注释,因此如果没有正确配置SSI,它会被浏览器忽略,但在HTML代码中仍然可见。而如果正确配置了SSI,则此指令会被其结果替代。
几个SSI的例子:
今天的日期
<!--#echo var="DATE_LOCAL" -->
echo元素仅仅是反馈一个变量的值。标准变量有许多,其中包含对CGI程序有效的所有的环境变量。另外,你也可以用set元素定义你的专用变量。
如果你不喜欢日期的这种打印格式,可以用config元素的timefmt属性,改变其格式。
<!--#config timefmt="%A %B %d, %Y" -->
Today is <!--#echo var="DATE_LOCAL" -->
文件的修改日期
This document last modified <!--#flastmod file="index.html" -->
这个元素也是使用timefmt的格式配置。
包含一个CGI程序的输出,这是SSI的很常见的一个用途-包含一个CGI程序的输出。
<!--#include virtual="/cgi-bin/counter.pl" -->