一、简介

SSI(Server Side Include),是一种类似于ASP的基于服务器的网页制作技术 。将文本、图形或应用程序信息包含到网页中。例如,可以使用 SSI 包含时间/日期戳、版权声明或供客户填写并返回的表单 。

举一个简单的例子:在我们有N多静态页时 ,每年都需要将“版权所有2008-2014”这样的时间信息。在静态页很少时,逐一修改当然很容易 ,而在很多个页面时,我们当然也可以通过脚本遍历每个文件,逐一修改 。不过不用这么麻烦,这时候就要用到SSI技术了,可以将该段版权或页脚信息放到一个页面里,而每个静态页面都include这个foot文件就可以了。

二、nginx中SSI指令

1、参数

在nginx下与SSI配置相关的参数主要有ssi ssi_sclient_error ssi_types三个。三都具体的用法如下:

ssi on
开启ssi支持,默认是off

ssi_silent_errors on
默认值是off,开启后在处理SSI文件出错时不输出错误提示:”[an error occurred while processing the directive] ”

ssi_types
默认是ssi_types text/html,所以如果需要htm和html支持,则不需要设置这句,如果需要shtml支持,则需要设置:ssi_types text/shtml

2、格式

SSI引用的格式如下:

1SSI的格式:
23路径是相对server中root根目录。

例如我原有一个index.html页面里有下面一段

<pre data-language="HTML">```markup
</div>
<div class="footer">
 <div class="footer_bottom">版权所有 @2011 运维之路www.361way.com 浙ICP备XXXX号</div>
  <div class="footer_bottom" >声明:本站…………………… </div>
</div>

我们可以将其保存为foot.html,而在原index.html中的这一段换成格式中的include语句 。(记得先在nginx中开启SSI支持并reload生效)

```bash
<!--#include file="bottom.htm"-->
或
<!--#include virtual="/hx/bottom.htm"-->
路径是相对server中root根目录。

参考页面:nginx官方wiki页

SSI的其他指令可以参看百度百科