现在的位置: 首页 > 综合 > 正文

SSI是指Server-side include(服务器端包含指令)

2013年03月04日 ⁄ 综合 ⁄ 共 3048字 ⁄ 字号 评论关闭

转载自:http://blog.csdn.net/zxl315/archive/2008/03/30/2229851.aspx

使用服务器端包含指令可以将文件内容以及有关文件的信息,如文件的大小包含到HTML页中。还可以在ASP页中使用一些服务器端包含指令。

一共有6条

#config:指定返回到客户端浏览器的错误消息、日期和文件大小所使用的格式。

#echo:在 HTML 页中插入环境变量的值。

#exec:运行一个应用程序或一条 shell 命令并将输出插入到 HTML 页中。

#flastmod:将文件修改日期插入到 HTML 页中。

#fsize:将文件大小插入到 HTML 页中。

#include:在 HTML 或 ASP 页中包含文件。

因为包含 SSI 指令的文件需要特殊处理,所以必需给 SSI 文件一个 SSI 文件扩展名。默认的扩展名为 .stm、.shtm 和 .shtml。但是有的SSI指令可以在其他文件中使用。

1.包含文件

要包含文件,请使用 #include 指令。例如,需要在 HTML 页中插入一个名为 char.inc 的文件时,可在 HTML 页中使用下列指令:(可在ASP中使用)

<!-- #include file="char.inc" -->

包含 #include 指令的 HTML 文件必须是您 Web 站点上发布的文件。

要通过指定当前目录的相对路径定位被包含文件,请使用 file 参数。要通过指定文件的完整虚拟路径来定位被包含文件,请使用 virtual 参数。

2.包含应用程序的输出

要运行应用程序或 shell 命令,请使用 #exec 指令。该应用程序可以是 CGI 程序、ASP 应用程序或 ISAPI 应用程序。应用程序的路径必须是完整的虚拟路径或 URL。向应用程序传递参数的方法是在该应用程序名后跟一个问号(?)和由加号(+)连接起来的一列参数。该指令只能在 HTML 页中使用,而不能在 ASP 页中使用。

参数 CGI 运行一个应用程序,如 CGI 脚本、ASP 或 ISAPI 应用程序。

参数 CMD 运行 shell 命令。

3.包含文件的大小

#fsize将指定文件的大小插入 HTML 页中。该指令只能在 HTML 页中使用,而不能在 ASP 页中使用。

参数设置同#include

默认情况下,以千字节为单位表示文件大小。可以用带有 sizefmt 选项的 #config 指令改变计量单位。

4.#config

#config指定返回给客户端浏览器的错误信息、日期和文件大小的格式。该指令只能在 HTML 页中使用;不能在 ASP 页中使用。

参数 ERRMSG

控制在处理 SSI 指令的过程中发生错误时返回给客户端浏览器的消息。禁止详细的调试信息,而只提供一个简短的错误消息。

例:<!-- #config errmsg="You are wrong!" -->

参数 TIMEFMT

指定返回给客户端浏览器的日期格式。String 参数指定格式。可以通过在 String 中使用格式化标记来提取日期中的个别部分,例如,一周或一个月中的某天。(格式化标记与您在使用 ANSI C 的 strftime 函数时的那些标记完全相同)。

%a 一周中某天的缩写(例如,Mon)。

%A 一周中某天的全称(例如,Monday)。

%b 月份的缩写(例如,Feb)。

%B 月份的全称(例如,February)。

%c 当地的日期和时间的表示(例如,05/06/91 12:51:32)。

%d 以十进制数字表示的一个月中的某天 (01-31)。

%H 24 小时格式 (00-23)。

%I 12 小时格式 (01-12)。

%j 以十进制数字表示一年中的某天 (001-366)。

%m 以十进制数字表示的月份 (01-12)。

%M 以十进制数字表示的分 (00-59)。

%p 当地的上午或下午指示符(例如,PM)。

%S 以十进制数字表示的秒 (00-59)。

%U 以十进制数字表示一年中的某一周,星期日作为一周的开始 (00-51)。

%w 以十进制数字表示一周中的某一天,星期天是第一天 (0-6)。

%W 以十进制数字表示一年中的某一天,星期一作为一周的开始 (00-51)。

%x 当地的日期表示(例如,05/06/91)。

%X 当地的时间表示(例如,12:51:32)。

%y 以十进制数字表示的不带有世纪的年(例如,69)。

%Y 以十进制数字表示的带有世纪的年(例如,1969)。

%z, %Z 时区全称或缩写;如果不知道时区,则没有字符。

%% 百分号。

例:<!-- #config timefmt="%H:%M:%S" -->

参数 SIZEFMT 后面跟ABBREV表示以千字节为单位,跟BYTE表示以字节为单位

例:<!-- #config sizefmt="bytes" -->

5.#ECHO 类似于 ASP 中的 Response.ServerVariables

不详细介绍了,实在太多了

REMOTE_ADDR、QUERY_STRING 等,应该会用吧

6.#flastmod 将指定文件的修改时间插入 HTML 页。该指令只能在 HTML 页中使用,而不能在 ASP 页中使用。

参数设置同#include

 

 

index.shtml
<!--#config errmsg="Error!"-->
显示当前日期:<!--#echo var="DATE_LOCAL"-->
<br />
显示当前文档名称:<!--#echo var="document_name"-->
<br />
显示当前文档虚拟路径:<!--#echo var="document_uri"-->
<br />
显示文档最后更新时间:<!--#echo var="LAST_MODIFIED"-->
<br />
显示服务器设定时区的日期何时间:<!--#config timefmt="%A,the %d of %B,in the year %Y"--><!--#echo var="date_local"-->
<br />
显示服务器主机名,DNS别名或IP地址:<!--#echo var="server_name"-->
<br />
显示服务器的响应端口:<!--#echo var="server_port"-->
<br />
显示服务器软件名称和版本:<!--#echo var="server_software"-->
<br />
显示客户端文档请求方法:<!--#echo var="request_method"-->
<br />
显示客户端主机名称,DNS别名或IP地址:<!--#echo var="remote_host"-->
<br />
显示发出请求信息的客户端IP:<!--#echo var="remote_addr"-->
<br />
显示用户身份的验证方法:<!--#echo var="AUTH_TYPE"-->
<br />
显示访问受保护页面的用户所使用的帐号名称:<!--#echo var="remote_user"-->
<br />
<!--下面两个包含命令都能包含html文件和jsp文件-->
<!--这个命令只能包含与本文件同目录下的文件-->
<!--#include file="index.html"-->
<br />
<!--这个命令能包含别的目录下的文件,用虚拟路径-->
<!--#include virtual="test.jsp"-->
<br />
<!--包含txt文件-->
<p align="center"><!--#include file="testssi.txt"--></p>
<br />
显示指定文件的大小:<!--#fsize file="WEB-INF/web.xml"-->
<br />
测试最头上指定的错误信息:<!--#fsize file="//"-->

 

 

抱歉!评论已关闭.