2014-03-22 17:19:01
来 源
ITJS.CN
Linux Apache配置
本文介绍Apache服务器中配置ssi,希望对于初学Apache服务器相关的朋友有帮助,更多Apache安装、配置、报错处理等资源请本站内搜索。
什么是shtml?

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

什么是SSI?

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

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

#AddTypetext/html.shtml

#AddOutputFilterINCLUDES.shtml

把这两行前面的#去掉

然后搜索“OptionsIndexesFollowSymLinks

在搜索到的那一行后面添加“Includes

即将该行改变为OptionsIndexesFollowSymLinksIncludes

熟悉apachemanual的可能会觉得比较容易。

保存httpd.conf,重起apache即可

到此我们就完成了对ApacheSSI的设置。

验证SSI配置成功

在服务器目录上新建文件ssitest.shtml

文件内容为

<!--#echovar="DATE_LOCAL"-->

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

打开得到如下内容

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

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

另外的例子:

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

<divstyle="border:1pxsolid#333;background:lightyellow;padding:10px;font-size:12px">

Copyrightrabbitlxb,Allrightsreserved.

</div>

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

<!--#includevirtual="footer.html"-->

显示结果如下图

如何使你的Apache服务器支持SSI

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

 

--------------------------------------------------------------------------------------------

下面的附应该是很多跟我一样做PHP程序的人比较关心的,有兴趣可以看看,当然,你遇到了问题也可以很简单的自己解决,不是什么难题

--------------------------------------------------------------------------------------------

附:

CSDN上有人问能不能吧SSI指令跟PHP放在同一个指令下执行,回答不可以,但我觉得应该可以,因为APACHE根据文件后缀名来确定执行何种脚本,如配置文件httpd.conf中有这样一段:、

AddTypeapplication/x-httpd-php.php

制定若文件后缀为PHP时即执行其中的php脚本

因此,我们可以增加这一句

AddTypeapplication/x-httpd-php.shtml

让apache知道shtml后缀的也执行其中的PHP脚本,这样因为上面的配置中已经告诉APACHE以shtml后缀的文件要执行ssi指令,再加上这一个配置,重启APACHE,以shtml结尾的文件就能够同时执行ssi和PHP指令,这样,接下来我们要做的就是把SSI和php指令写到同一个文件,之后将文件后缀指定为shtml就万事OK啦

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。