Apache配置SSI

2017-03-31 14:36:07 7485

什么是shtml? 

使用SSI(Server Side Include)html文件扩展名,SSI(Server Side Include),通常称为"服务器端嵌入"或者叫"服务器端包含",是一种类似于ASP的基于服务器的网页制作技术。默认扩展名是 .stm.shtm  .shtml 

 

什么是SSI? 

SSI是英文Server Side Includes的缩写,翻译成中文就是服务器端包含的意思。从技术角度上说,SSI就是在HTML文件中,可以通过注释行调用的命令或指针。SSI具有强大的功能,只要使用一条简单的SSI命令就可以实现整个网站的内容更新,时间和日期的动态显示,以及执行shellCGI脚本程序等复杂的功能。网站维护常常碰到的一个问题是,网站的结构已经固定,却为了更新一点内容而不得不重做一大批网页。SSI提供了一种简单、有效的方法来解决这一问题,它将一个网站的基本结构放在几个简单的HTML文件中(模板),以后我们要做的只是将文本传到服务器,让程序按照模板自动生成网页,从而使管理大型网站变得容易 

 

如何配置Apache支持SSI 

Apache默认是不支持SSI的,需要我们更改httpd.conf来进行配置。我这里以windows平台的Apache 2.0.x为例,打开conf目录下的httpd.conf文件,搜索“AddType text/html .shtml”,找到: 

  # AddType text/html .shtml 

  # AddOutputFilter INCLUDES .shtml 

把这两行前面的#去掉 ,然后搜索“Options Indexes FollowSymLinks” ,在搜索到的那一行后面添加“ Includes” ,即将该行改变为:

Options Indexes FollowSymLinks Includes 

熟悉apache manual的可能会觉得比较容易,保存httpd.conf,重起apache即可 ,到此我们就完成了对Apache SSI的设置。 

 

验证SSI配置成功 

在服务器目录上新建文件ssitest.shtml,文件内容为:

<!--#echo var="DATE_LOCAL" --> 

echo元素仅仅是反馈一个变量的值。标准变量有许多,其中包含对CGI程序有效的所有的环境变量。另外,你也可以用set元素定义你的专用变量。 

打开得到如下内容 

Tuesday, 26-Aug-2008 10:25:53 中国标准时间 

表示配置SSI成功,如果没有类似输出,请检查APACHE版本或者配置是否正确。 

 

另外的例子: 

如果要包含一个标准页脚,假设页脚内容如下,命名为footer.html

<div style="border:1px solid #333;background:lightyellow;padding:10px;font-size:12px"> 

Copyright rabbitlxb,All rights reserved. 

</div> 

ssitest.shtml文件中使用以下语句 

<!--#include virtual="footer.html" --> 

显示结果如下图

blob.png

可以看到,footer.html的内容被引入到ssitest.html中了。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: