SSI指令(一)

一、什么是 SSI

SSI(Server Side Include)通常称为“服务端嵌入”或“服务端包含”,即在服务端加载的指令。在页面内容发送到浏览器前,可使用SSI指令将文本图片或应用程序动态包含到网页中。
注意:内容都是在服务器端组装的,一般请求回来的html 和你写的可能会有一些区别,引入的页面片内容会插入,控制样式时间的也是服务器的时间等。

二、常用场景

1.Hml页面引入css页面片,重构和前端更新互不影响

   <!--#include virtual="/sinclude/cssi/h5/1111/wx_mall/popup.shtml" -->

2.Hml页面引入js页面片,内容和逻辑完全分离易维护

    <!--#include virtual="/sinclude/jsi/wg.market.prelive1611.shtml"-->

3.网站公用底部或头部页面片,不用重复拷贝,更新方便

    <!--#include virtual="/sinclude/common/foot.shtml" -->

4.网页的样式在10/26-11/11是一个样式,其他时间另一样式(或按星期日期分钟等等个性定制)

  <!--#config timefmt="%D"-->   
  <!--#if expr="$DATE_LOCAL=/(((10)\/((2[1-9])|3[0-1]))|((11)\/((0[1-9])|11)))/"-->   
  <!--#include virtual="/sinclude/cssi/h5/1111/coupon_center1111/coupon_center_v2.shtml" -->
  <!--#else-->   
  <!--#endif -->  

5.打印网页的当前日期或时间等

  <!--#config timefmt="%D"-->  
  <!--#echo var="DATE_LOCAL"-->

三、基础指令

1.#include 将文本文件的内容直接插到文档页面中

<!--#include file="包含文件相对于本文档的位置"-->
<!--#include virtual="相对于服务器文档根目录的位置"-->

2.#echo 将环境变量插入页面中`

<!--#echo var="变量名称"-->
<!--本文档名称-->
<!--#echo var="DOCUMENT_NAME"-->
<!--时间-->
<!--#echo var="DATE_LOCAL"-->
<!--IP地址-->
<!--#echo var="REMOTE_ADDR"-->

3.#config 用于修改SSI的默认设置

<!--#config errmsg="自定义错误信息"-->
<!--#config sizefmt="显示单位"-->
<!--#config timefmt="显示格式"-->

4.#flastmod文件更新日期 和 #fsize 文件的长度

<!--#flastmod file="文件名称"-->
<!--#fsize file="文件名称"-->
<!--#flastmod virtual="文件名称"-->
<!--#fsize virtual="文件名称"-->

5.#exec 可以执行CGI脚本或者shell命令

<!--将会显示密码文件-->
<!--#exec cmd="cat /etc/passwd"-->
<!--将会显示当前目录下文件列表-->
<!--#exec cmd="dir /b"-->
<!--将会执行CGI程序gb.cgi-->
<!--#exec cgi="/cgi-bin/gb.cgi"-->
<!--将会执行CGI程序access_log.cgi-->
<!--#exec cgi="/cgi-bin/access_log.cgi"-->

四、 XSSI指令

1.#printenv 显示当前存在于WEB服务器环境中的所有环境变量

2.#set 可给变量赋值,以用于后面的if语句。

<!--#set var="变量名"value="变量值"-->
<!--#set var="变量名"value="变量值"-->

3.#if 创建可以改变数据的页面,数据根据使用if语句时计算的要求予以显示。

<!--#if expr="$变量名=\"变量值A\""-->
<!--显示内容-->
<!--#elif expr="$变量名=\"变量值B\""-->
<!--显示内容-->
<!--#else-->
<!--显示内容-->
<!--#endif"-->
<!--#if expr="$变量名=\"变量值A\""-->

五、附录

DOCUMENT_URI    /v2/html/ssitest.shtml
DATE_LOCAL  Thursday, 06-Mar-2014 17:04:27 CST
DOCUMENT_NAME   (none)
QUERY_STRING_UNESCAPED  (none)
DATE_GMT    Thursday, 06-Mar-2014 09:04:27 GMT
SERVER_SOFTWARE (none)
SERVER_NAME wo.paipai.com
SERVER_PROTOCOL HTTP/1.1
SERVER_PORT 80
REQUEST_METHOD  GET
REMOTE_HOST (none)
REMOTE_ADDR 10.28.68.116
AUTH_TYPE   (none)
REMOTE_USER (none)
HTTP_HOST   vip.paipai.com
LAST_MODIFIED   (none)
HTTP_REFERER    (none)
HTTP_USER_AGENT Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36
QUERY_STRING    a=1
REMOTE_HOST (none)
SCRIPT_FILENAME (none)
REQUEST_URI /v2/html/ssitest.shtml?a=1

%a  一周七天的缩写形式 Thu
%A  一周七天 Thursday
%b  月的缩写形式 Apr
%B  月 April
%d  一个月内的第几天 13
%D  mm/dd/yy日期格式 04/13/00
%H  小时(24小时制,从00到23) 01
%I  小时(12小时制,从00到11) 01
%j  一年内的第几天,从01到365 104
%m  一年内的第几个月,从01到12 04
%M  一小时内的第几分钟,从00到59 10
%p      AM或PM AM
%r  12小时制的当地时间,格式为 01:10:18 AM
%S  一分钟内的第几秒,从00到59 18
%T  24小时制的%H:%M:%S时间格式 01:10:18
%U  一年内的第几个星期,从00到52,以星期天作为每个星期的第一天
%w  一星期内的第一天,从0到6 4
%W  一年内的第几个星期,从00到 53,以星期一作为每个星期的第一天
%y  年的缩写形式,从00到99 00
%Y  用四位数字表示一年 2000
%Z  时区名称 MDT
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值