SHTML简介及Apache配置ssi功能

使用SSI( Server Side Include)的html文件扩展名(.shtml),通常称为" 服务器端嵌入"或者叫" 服务器端包含"。

SSI工作原理:内容发送到浏览器之前,可以使用" 服务器端包含(SSI)"指令将文本、图形或应用程序信息包含到网页中,例如,可以使用SSI包含时间/日期戳/版权声明,对于在多个文件中重复出现的文本或图形,使用包含文件是一种简便的方法,将内容存入一个包含文件中即可,而不必将内容输入所有文件,通过一个非常简单的语句即可调用包含文件,此语句指示Web服务器将内容插入适当网页,而且使用包含文件时,对内容的所有更改只需在一个地方就能完成。

因为包含SSI指令的文件要求特殊处理,所以必须为所有SSI文件赋予SSI文件扩展名,默认扩展名是 .stm.shtm.shtml

Web服务器在处理网页的同时处理SSI指令,当Web服务器遇到SSI指令时,直接将包含文件的内容插入HTML网页,如果"包含文件"中包含SSI指令,则同时插入此文件,除了用于包含文件的基本指令之外,还可以使用 SSI 指令插入文件的相关信息(如文件的大小)或者运行应用程序或shell命令。

网站维护常常碰到的一个问题,网站的结构已经固定,却为了更新一点内容而不得不重做一大批网页,SSI提供了一种简单、有效的方法来解决这一问题,它将一个网站的基本结构放在几个简单的HTML文件中(模板),以后我们要做的只是将文本传到服务器,让程序按照模板自动生成网页,从而使管理大型网站变得容易。

SSI作用:之所以要扯到SSI是因为Shtml-Server-Parsed HTML的首字母缩略词,包含有嵌入式服务器方包含命令的HTML文本,在被传送给浏览器之前,服务器会对SHTML文档进行完全地读取、分析以及修改,你可以在SHTML文件中写入SSI指令,比如:可以在SHTML文件中用SSI指令引用其他的html文件(#include),可以实现了动态的SHTML,是HTML的一种进化吧。
目前,主要有以下几种用用途:
显示服务器端环境变量<#echo>
将文本内容直接插入到文档中<#include>
显示WEB文档相关信息<#flastmod #fsize>(如文件制作日期/大小等)
直接执行服务器上的各种程序<#exec>(如CGI或其他可执行程序)
设置SSI信息显示格式<#config>(如文件制作日期/大小显示方式)
高级SSI<XSSI>可设置变量使用if条件语句


Apache配置ssi功能

Apache默认是不支持SSI的,需要我们更改httpd.conf来进行配置。

我这里以windows平台的Apache2.2.22为例,打开conf目录下的httpd.conf文件。

#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml
把这两句前面的"#"去掉,如果要使html也支持ssi可以改写成
AddType text/html .shtml .html
AddOutputFilter INCLUDES .shtml .html

并非所有文件中的ssi指令都会被解析,必须告诉Apache应该解析哪些文件,如果我们的指令放在了.htm类型的文件中,那么就需要在上面两条命令中分别加入.htm一项,否则便不会解析未指定的文件中的ssi命令,因为命令是放在注释中的,故不解析的将显示空。

#Options Indexes FollowSymLinks
把这句前的"#"去掉,改写成
Options Indexes FollowSymLinks Includes

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值