XSSI
XSSI(Extended SSI)是一组高级SSI指令,内置于Apache 1.2或更高版本的mod-include模块之中。
其中可利用的的指令有:
#printenv
#set
#if
#printenv
作用: 显示当前存在于WEB服务器环境中的所有环境变量。
语法:程序代码:
<!--#printenv-->
<!--#printenv-->
<!--#printenv-->
<!--#printenv-->
#set
作用:可给变量赋值,以用于后面的if语句。
语法:程序代码:
<!--#set var="变量名"value="变量值"-->
<!--#set var="变量名"value="变量值"-->
参数:无
示例: 程序代码:
<!--#set var="color"value="红色"-->
<!--#set var="color"value="红色"-->
#if
作用: 创建可以改变数据的页面,这些数据根据使用if语句时计算的要求予以显示。
语法: 程序代码:
<!--#if expr="$变量名="变量值A""-->
显示内容
<!--#elif expr="$变量名="变量值B""-->
显示内容
<!--#else-->
显示内容
<!--#endif"-->
<!--#if expr="$变量名="变量值A""-->
显示内容
<!--#elif expr="$变量名="变量值B""-->
显示内容
<!--#else-->
显示内容
<!--#endif"-->
示例:
程序代码:
<!--#if expr="$SERVER_NAME="hoyi.zb169.net""-->
欢迎光临好易CGI工厂在淄博热线的分站http://hoyi.zb169.net。
<!--#elif expr="$SERVER_NAME="linux.cqi.com.cn"" -->
欢迎光临好易CGI工厂在太阳城的分站http://linux.cqi.com.cn/~hoyi。
<!--#else-->
欢迎光临好易CGI工厂!
<!--#endif"-->
<!--#if expr="$SERVER_NAME="hoyi.zb169.net""-->
欢迎光临好易CGI工厂在淄博热线的分站http://hoyi.zb169.net。
<!--#elif expr="$SERVER_NAME="linux.cqi.com.cn"" -->
欢迎光临好易CGI工厂在太阳城的分站http://linux.cqi.com.cn/~hoyi。
<!--#else-->
欢迎光临好易CGI工厂!
<!--#endif"-->
注意: 用于前面指令中的反斜杠,是用来代换内部的引号,以便它们不会被解释为结束表达式。不可省略。
1、Config命令
Config命令主要用于修改SSI的默认设置。其中:
Errmsg:设置默认错误信息。为了能够正常的返回用户设定的错误信息,在HTML文件中Errmsg参数必须被放置在其它SSI命令的前面,否则客户端只能显示默认的错误信息,而不是由用户设定的自定义信息。
<!--#config errmsg="Error! Please email webmaster@mydomain.com -->
Timefmt:定义日期和时间的使用格式。Timefmt参数必须在echo命令之前使用。
<!--#config timefmt="%A, %B %d, %Y"-->
<!--#echo var="LAST_MODIFIED" -->
显示结果为:
Wednesday, April 12, 2000
也许用户对上例中所使用的%A %B %d感到很陌生,下面我们就以表格的形式总结一下SSI中较为常用的一些日期和时间格式。
Sizefmt:决定文件大小是以字节、千字节还是兆字节为单位表示。如果以字节为单位,参数值为"bytes";对于千字节和兆字节可以使用缩写形式。同样,sizefmt参数必须放在fsize命令的前面才能使用。
<!--#config sizefmt="bytes" -->
<!--#fsize file="index.html" -->
2、Include命令
Include命令可以把其它文档中的文字或图片插入到当前被解析的文档中,这是整个SSI的关键所在。通过Include命令只需要改动一个文件就可以瞬间更新整个站点!
Include命令具有两个不同的参数:
Virtual:给出到服务器端某个文档的虚拟路径。例如:
<!--#include virtual="/includes/header.html" -->
File:给出到当前目录的相对路径,其中不能使用"../",也不能使用绝对路径。例如:
<!--#include file="header.html" -->
这就要求每一个目录中都包含一个header.html文件。