当前位置:  操作系统/服务器>linux

服务器端包含、嵌入技术SSI(Server SideInc lude)详解

    来源: 互联网  发布时间:2014-08-25

    本文导语:  SSI简介 SSI在静态文件中非常有用,能分离一些可变的模块,如每日排行榜等。其主要作用有: 1.显示服务器端环境变量 2.将文本内容直接插入到文档中 3.显示WEB文档相关信息 (如文件制作日期/大小等) 4.直接执行服务器上的...

SSI简介

SSI在静态文件中非常有用,能分离一些可变的模块,如每日排行榜等。其主要作用有:

1.显示服务器端环境变量
2.将文本内容直接插入到文档中
3.显示WEB文档相关信息 (如文件制作日期/大小等)
4.直接执行服务器上的各种程序(如CGI或其他可执行程序)
5.设置SSI信息显示格式(如文件制作日期/大小显示方式)
6.高级SSI可设置变量使用if条件语句。 apache、nginx等都支持SSI命令,配置下就可以,Nginx的配置可以参考:

http://wiki.nginx.org/HttpSsiModuleChs

SSI 的默认扩展名是 .stm、.shtm 和 .shtml

SSI语法

示例:

SSI的语法非常简单,但使用中需注意以下几点:

1. 2.SSI大小写敏感
3.所有value需写在引号中

SSI命令

config命令

config命令主要用于修改SSI的默认设置,诸如时间格式,默认错误信息,文件大小单位。

设置默认错误信息:errmsg

代码如下:

定义日期和时间格式:timefmt
代码如下:

定义文件大小单位
代码如下:

config命令只对其后使用的命令生效。同时,后定义的设置具有更高的优先级,会覆盖之前的设置。

include命令

include命名可能是SSI中使用最多的命令,也是SSI最主要的功能体现;
Include命令可以把其它文档中的文字或图片插入到当前被解析的文档中,通过Include命令只需要改动一个文件就可以瞬间更新整个站点!

代码如下:


include命令支持通过虚拟路径引入文件(virtual),以及相对路径引入文件(file),引用的文件类型不限。

set命令

可以使用set进行变量的定义:

代码如下:

变量定义后便可以使用了:
代码如下:

定义变量时使用环境变量:
代码如下:

如果是单个环境变量可以不使用{}分割:
代码如下:

环境变量的引用都需要使用$前缀,如果$仅作为字符使用,通过$转义即可。

echo命令

echo显示变量值,包括自定义变量、环境变量

代码如下:

注意:echo命令中使用的环境变量不需要使用$前缀。 SSI的主要环境变量如下:

name description type DOCUMENT_NAME 当前文档名 SSI DOCUMENT_URI 当前文档虚拟路径 SSI QUERY_STRING_UNESCAPED 未经转义处理的由客户端发送的查询字串,所有的特殊字符前面都有转义符”” SSI DATE_LOCAL 服务器设定时区的日期和时间 SSI DATE_GMT 功能与DATE_LOCAL一样,但返回的是以格林尼治标准时间为基准的日期 SSI LAST_MODIFIED 当前文档的最后更新时间 SSI SERVER_SOFTWARE 服务器软件的名称和版本 CGI SERVER_NAME 服务器的主机名称,DNS别名或IP地址 CGI SERVER_PROTOCOL 客户端请求所使用的协议名称和版本 CGI SERVER_PORT 服务器的响应端口 CGI REMOTE_HOST 发出请求信息的客户端主机名称 CGI REMOTE_ADDR 发出请求信息的客户端IP地址 CGI AUTH_TYPE 用户身份的验证方法 CGI REMOTE_USER 访问受保护页面的用户所使用的帐号名称 CGI

更多的环境变量可使用printenv命令查看 printenv命令 显示所有环境变量

fsize命令

显示指定文件的大小,可结合config sizefmt指定输出格式。

代码如下:



flastmod命令

显示指定文件的最后更新日期,可结合config sizefmt指定输出格式。

代码如下:



exec命令

Exec 命令可以执行 CGI 脚本或者 shell 命令。使用方法如下:

1.CMD:使用 /bin/sh 执行指定的字串。如果 SSI 使用了 IncludesNOEXEC 选项,则该命令将被屏蔽

2.CGI:可以用来执行 CGI 脚本

if…语句

SSI中也可以是用条件判断语句if,语法如下:

代码如下:




示例:
代码如下:


这是通过if判断当前文档名为"index.shtml"后显示



这是通过if判断当前文档名为"index.html"后显示



既不是"index.shtml",也不是"index.html"



demo

    
 
 

您可能感兴趣的文章:

  • 服务器存储快照和数据库快照详解
  • 求 sun ldoms 配置 虚拟化服务器 步骤详解
  • 图文详解添加DNS服务器的操作步骤
  • 配置PHP服务器环境步骤详解
  • PHP服务器变量$_SERVER用法详解
  • windows2003 DNS服务器配置(图文详解)
  • 基于Android 错误信息捕获发送至服务器的详解
  • 探讨:使用httpClient在客户端与服务器端传输对象参数的详解
  • 深入SQL SERVER 跨服务器查询详解
  • ECMall支持SSL连接邮件服务器的配置方法详解
  • MySQL数据库服务器端核心参数详解和推荐配置
  • DELL R900 服务器 RAID阵列 配置详解
  • 嵌入式Web服务器 Appweb
  • 嵌入式的Scala Web服务器 SOCKO WEB
  • 怎么写一个嵌入式linux下的代理服务器?
  • 可嵌入式Web服务器 Pygmy
  • 嵌入式Web服务器 GoAhead
  • 微型嵌入式Web服务器 Jina
  • 嵌入式web服务器
  • 嵌入式HTTP服务器 NanoHTTPD
  • 请问可以在WEB服务器是linux的网站的网页中,嵌入视频播放器吗?
  • 嵌入式中的webserver服务器的问题
  • 简要描述嵌入式Web服务器系统结构
  • 100分求《嵌入式系统Web服务器—TCP/IP Lean》或《TCP/IP Lean Web Servers for Embedded Systems 》
  • 嵌入式LINUX如何访问服务器的webserver接口
  • 嵌入式Web服务器 Embedthis Appweb
  • 200分!!嵌入式Linux下通过TCP访问服务器,Socket被服务器重置,错误号104??(高手请进)解决后加送100分!!!
  • 嵌入式 Web 服务器 Undertow
  • 做嵌入式开发,想在现有的设备中加入syslog模块,而对于服务器端如何接收syslog那?
  • 嵌入式linux下,TCP的客户端无法连接到服务器(硬件没问题),请帮忙看看!谢谢
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • c# 服务器上传木马监控代码(包含可疑文件)
  • 重装服务器后IIS网站错误(应用程序中的服务器错误)
  • 请问在红旗Linux多功能服务器版上(不是数据库服务器版)能否正常安装使用Oracle?红旗Linux数据库服务器版要比红旗Linux多功能服务器版贵
  • nginx 服务器介绍
  • 校园网,www服务器,邮件服务器,数据库服务器等各用什么平台(系统)性能最佳?
  • 代理服务器原理,功能及作用详细介绍
  • 双linux服务器如何能在一台服务器崩溃的情况下在另一台服务器上启动相应服务
  • Apache HTTP服务器2.4中的新功能概览
  • 如何有效判断服务器已经连接不上(服务器关闭,服务器非法退出等原因)
  • php中操作memcache的类及成员列表及php下如何连接memched服务器
  • 在服务器端怎样检测客户端与服务器端的某个会话在一段时间里面没有通信,然后在服务器端终止该会话??
  • nginx服务器基本特性及使用技巧
  • 恳请对服务器的开发有经验的谈谈服务器开发经验(Unix/Linux & Win32):服务器构架、内存泄漏检测,异常出错……!!!
  • c/c++服务器程序内存泄露问题分析及解决
  • 采用sendmail搭建邮件服务器必须在邮件服务器上构建DNS服务吗? iis7站长之家
  • nginx服务器下通过fastcgi支持php5详细安装配置步骤
  • 采用sendmail搭建邮件服务器必须在邮件服务器上构建DNS服务吗?
  • Mysql服务器登陆,启动,停止等基本操作命令介绍(Linux/Centos环境)
  • web服务器和应用服务器的区别?
  • 现在有50台服务器,他们的IP是192.168.1.1~192.168.1.100,如何将服务器192.168.1.1的/etc/rc.local快速复制到另外49台服务器上?
  • 如何去理解web服务器与应用服务器
  • udp服务器和TCP服务器的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3