服务器端包含 SSI,是英文 Server Side Includes的简写。SSI是一种可以指挥服务器动态声称网页内容的HTML指令。

通常SSI可以用来确保网页中的一些通用内容,比如版权信息、联系方式、或导航信息在全站所有网页中保持一致。使用SSI显示这些通用内容还可以减轻网站维护的工作量,因为当需要修改这些通用信息的时候,只需要改一个地方就可以了,而不需要逐个修改每一个网页。

各个服务器对SSI命令的支持各有不同,但 #include 和 #exec 是通用的。使用 SSI 的页面文件通常都使用扩展名.shtml,而不是.html 或 .htm,这样以便服务器能够辨认出哪些页面包含SSI指令,这些页面需要先经过服务器处理,翻译执行其中的SSI指令,然后才发送给客户端浏览器。  (当然有些服务器还是支持.html,.htm文件中有SSI指令的)。

如何辨别你的服务器是否支持 SSI?

多数网站寄存服务都支持 SSI – 但是也有一些不支持,特别是一些免费的网站寄存服务。你可以联系你的网站寄存公司询问他们是否支持SSI,也可以通过以下方式来自己测试一下你的服务器是否支持SSI:

1. 拷贝以下HTML内容,保存为文件名test.shtml

<html><head></head>

<body><!–#echo var=”DATE_LOCAL” –></body>

</html>

2. 将这个文件上载到你的服务器上,然后用浏览器浏览服务器上的这个网页。

3. 如果看到网页显示当前日期,则你的服务器支持 SSI。否则,多半可能你的服务器不支持SSI。你可以尝试与你的网站寄存公司联系看他们是否可以为你开通SSI服务。

练习1: 显示版权信息

1. 拷贝以下内容并存为copyright.html文件名 (你可以把链接和网站名称修改为你的网站):

&copy;2007 <a href=”http://www.prglab.com”> 程序员实验室</a> 版权所有。

在浏览器中它应该显示为

©2007 程序员实验室 版权所有。

注意:在这个文件代码中不能够出现 <html>, <head> 和 <body> 这些标签,否则包含它的页面会出错。

2. 将这个文件copyright.html上传到你的服务器上。

3. 在要显示版权信息的页面底部</body>标签之前插入以下代码:

<!–#include virtual=”/copyright.html” –>

4.将修改后的文件上传到服务器上,然后用浏览器打开服务器上的文件,你应该看到页面的底部显示版权信息。

注意: 写有包含指令(#include)代码的文件可能要保存为扩展名为.shtml的文件名,代码才能生效。

练习 2: 简单的导航条

1. 比如我们要写一个如下所示的导航条

主页| 联系方式 | 产品介绍 | 订单

可以用以下HTML代码来实现:

<p align=”center”><font face=”Geneva, Arial, Helvetica, sans-serif” size=”2″>

<a href=”home.htm”>主页</a>

| <a href=”mailto:myemail@address.com”>联系方式</a>

| <a href=”products.htm”>产品介绍</a>

| <a href=”orders.htm”>订单</a></font></p>

2. 保存这些代码为文件 navigation.shtml 或 navigation.shtm.

3. 打开要插入导航条的页面,在要显示导航条的位置插入以下代码:

<!–#include virtual=”/navigation.shtml” –>

4. 将所有文件上载到服务器上,并用浏览器检查导航条是否如你所设想的显示。

以上只是两个很简单的SSI使用的例子,你还可以自由发挥写出更复杂的网页。如果需要修改SSI包含的内容,只需要打开写有通用内容的网页,比如上面的copyright.html或navigation.shtml,修改其中的内容,那么所有包含这个文件的网页相应内容都会被自动修改。

SSI 相对来说比较容易掌握,并能提高网站维护效率,不妨一试。

服务器端包含 SSI简介的更多相关文章

  1. Windows Azure 网站 (WAWS) 中的服务器端包含 (SSI)

     编辑人员注释:本文章由 Windows Azure 网站团队的项目经理Erez Benari 撰写. Windows Azure 网站客户普遍关心的一个问题是关于我们对服务器端包含(Server ...

  2. SSI服务器端包含注入

    服务器端嵌入:Server Side Include,是一种类似于ASP的基于服务器的网页制作技术.大多数(尤其是基于Unix平台)的WEB服务器如Netscape Enterprise Server ...

  3. SSI简介 与 nginx开启SSI

    Server Side Include : 服务器端嵌入 原理 : 将内容发送到浏览器之前,可以使用“服务器端包含 (SSI)”指令将文本.图形或应用程序信息包含到网页中.因为包含 SSI 指令的文件 ...

  4. win7下使用IIS服务器及自定义服务器端包含模块(SSI)步骤

    配置完过段时间就容易忘记,特此记录. 1.开启IIS服务器. 默认没有安装,需要先安装. 打开控制面板–> 打开“程序和功能”–> 左侧选择“启用或关闭windows功能”–> 找到 ...

  5. win8下使用IIS服务器及自定义服务器端包含模块(SSI)步骤

    配置完过段时间就容易忘记,特此记录. 1.开启IIS服务器. 默认没有安装,需要先安装. 打开控制面板--> 打开“程序和功能”--> 左侧选择“启用或关闭windows功能”--> ...

  6. ssi,服务器端包含,<include file="">

    一.什么是SSI ssi,全称Server Side Include,中文名,服务器端包含. SSI (Server Side Includes)是HTML页面中的指令,在页面被提供时由服务器进行运算 ...

  7. apache 开启服务器包含(SSI)技术

    SSI(server-side includes)能帮我们实现什么功能: SSI提供了一种对现有HTML文档增加动态内容的方法,  即 在html中加入动态内容 SSI是嵌入HTML页面中的指令,在页 ...

  8. SSI——服务器端嵌入

    服务器端嵌入:Server Side Include,是一种类似于ASP的基于服务器的网页制作技术.大多数(尤其是基于Unix平台)的WEB服务器如Netscape Enterprise Server ...

  9. SSI指令使用详解(转)

    什么是 SHTML使用SSI(Server Side Include)的html文件扩展名,SSI(Server Side Include),通常称为“服务器端嵌入”或者叫“服务器端包含”,是一种类似 ...

随机推荐

  1. 转载免安装版mysql的配置

    解压到自定义目录,我这里演示的是D:\wamp\mysql\   复制根目录下的my-default.ini,改名为my.ini,my.ini用下面内容替换 #以下是复制内容,这行可不复制 [clie ...

  2. 这套C#编码规范写不错

    自己总结的C#编码规范--1.命名约定篇:http://www.cnblogs.com/luzhihua55/p/CodingConventions1.html 自己总结的C#编码规范--2.命名选择 ...

  3. PHP之implode()方法

    implode — 将一个一维数组的值转化为字符串 string implode ( string $glue , array $pieces ) string implode ( array $pi ...

  4. Git(未完待续)

    Git的历史咱们就不多说来,我还是喜欢直白点,直接来干货吧 在Linux上安装Git 不同的系统不同的安装命令,基础的就不说来,centos直接yum就ok. 安装完成后,还需要最后一步设置,在命令行 ...

  5. ueditor与mvc4中坑 -编辑时显示源码问题

    最近一次使用 ueditor 时,在MVC中的修改新闻内容时发现,怎么调用都是编辑器保存下来的源码,代码如下 <script id="ucontent" name=" ...

  6. UVALive - 4975_Casting Spells

    题意很简单,给你一个字符串,要求你求出一个最长的形似于w(wr)w(wr)的最长连续子串的长度.wr表示w的逆序串. 在这里大家很容易就能想到Manacher算法求回文串.没有错,就是这个. 算法的详 ...

  7. 矩阵快速幂模板(pascal)

    洛谷P3390 题目背景 矩阵快速幂 题目描述 给定n*n的矩阵A,求A^k 输入输出格式 输入格式: 第一行,n,k 第2至n+1行,每行n个数,第i+1行第j个数表示矩阵第i行第j列的元素 输出格 ...

  8. DjangoORM使用mysql注意

    注意事项1:需要在project下的setting里面做设置.让Django生成MySQL类型的数据库. 注意事项2:在Django内部,连MySQL的时候,需要添加下面2句代码: 4.******* ...

  9. 【BZOJ4889】不勤劳的图书管理员(树套树)

    [BZOJ4889]不勤劳的图书管理员(树套树) 题面 又是权限题,烦死了 洛谷真好 题解 分开考虑每一次交换产生的贡献. 假设交换\((x,y)\) 检查\(x\)与\(y\)对于区间\([x+1, ...

  10. [JSOI2009]瓶子和燃料

    Description jyy就一直想着尽快回地球,可惜他飞船的燃料不够了. 有一天他又去向火星人要燃料,这次火星人答应了,要jyy用飞船上的瓶子来换.jyy 的飞船上共有 N个瓶子(1<=N& ...