SSI技术—SHTML的解释(生成静态时用的最火)

所属分类: 网页制作 / 应用技巧 阅读数: 1978
收藏 0 赞 0 分享
什么是shtml SHTML语法 SHTML教程 格式 编写 技术
使用SSI (Server Side Include)技术
想要找到既富有创意的平面设计人员,又有脚本开发经验的人员,实在是太难了。而如果一个百分之百的页面都是php脚本的网站,将为页面维护带来非常大的困难。而且使用了php的自动加头和加尾的方法,使得几乎所有页面都是语义不完整的,不能借助任何一款页面设计工具工作,是另一个弊病。
利用SSI技术,可以有效的将HTML网页和CGI脚本逻辑上分开,也可以将重复的HTML元素抽象和独立出来,减轻维护负担。
SSI (Server Side Includes) are directives that are placed in HTML pages, and evaluated on the server while the pages are being served. They let you add dynamically generated content to an existing HTML page, without having to serve the entire page via a CGI program, or other dynamic technology.
全文: 
配置Apache,支持SSI# This tells Apache that you want to permit files to# be parsed for SSI directives.Options +Includes
# At Linux or unix can use#  Options +Includes -IncludesNOEXEC# win32 not use it
# You have to tell Apache which files should be parsed.AddType text/html .shtmlAddHandler server-parsed .shtml
SSI语法
Basic SSI directives Syntax
<!--#element attribute=value attribute=value ... -->
Today's date
<!--#config timefmt="%Y/%m/%d %a %H:%M:%S" -->Today is <!--#echo var="DATE_LOCAL" -->
Modification date of the file
This document last modified <!--#flastmod file="index.html" -->
Including the results of a CGI program
<!--#include virtual="/cgi-bin/counter.pl" --><!--#include virtual="/cgi-bin/example.cgi?argument=value" -->
You can use "#exec cgi=" directive, but it can be disabled using the IncludesNOEXEC Option.
Including a standard footer
<!--#include virtual="/footer.html" -->
Executing commands
<!--#exec cmd="ls" -->
This feature is dangerous. You can allow SSI, but not the exec feature, with the IncludesNOEXEC argument to the Options directive.
Setting variables
<!--#set var="modified" value="$LAST_MODIFIED" --><!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" -->
Conditional expressions
<!--#if expr="test_condition" --><!--#elif expr="test_condition" --><!--#else --><!--#endif -->
1、Config命令 
  Config命令主要用于修改SSI的默认设置。其中: 
  Errmsg:设置默认错误信息。为了能够正常的返回用户设定的错误信息,在HTML文件中Errmsg参数必须被放置在其它SSI命令的前面,否则客户端只能显示默认的错误信息,而不是由用户设定的自定义信息。 
    <!--#config errmsg="Error! Please email webmaster@mydomain.com -->  
  Timefmt:定义日期和时间的使用格式。Timefmt参数必须在echo命令之前使用。 
    <!--#config timefmt="%A, %B %d, %Y"-->
    <!--#echo var="LAST_MODIFIED" --> 
  显示结果为: 
    Wednesday, April 12, 2000  
  也许用户对上例中所使用的%A %B %d感到很陌生,下面我们就以表格的形式总结一下SSI中较为常用的一些日期和时间格式。 www.domain.com
  Sizefmt:决定文件大小是以字节、千字节还是兆字节为单位表示。如果以字节为单位,参数值为"bytes";对于千字节和兆字节可以使用缩写形式。同样,sizefmt参数必须放在fsize命令的前面才能使用。 
    <!--#config sizefmt="bytes" -->
    <!--#fsize file="index.html" -->  
  2、Include命令 
  Include命令可以把其它文档中的文字或图片插入到当前被解析的文档中,这是整个SSI的关键所在。通过Include命令只需要改动一个文件就可以瞬间更新整个站点! 
  Include命令具有两个不同的参数: 
  Virtual:给出到服务器端某个文档的虚拟路径。例如: 
    <!--#include virtual="/includes/header.html" -->  
  File:给出到当前目录的相对路径,其中不能使用"../",也不能使用绝对路径。例如: 
    <!--#include file="header.html" --> 
  这就要求每一个目录中都包含一个header.html文件。 
  3、Echo命令 
  Echo命令可以显示以下各环境变量:
  DOCUMENT_NAME:显示当前文档的名称。
    <!--#echo var="DOCUMENT_NAME" --> 
显示结果为:
    index.html
  DOCUMENT_URI:显示当前文档的虚拟路径。例如:
    <!--#echo var="DOCUMENT_URI" --> 
  显示结果为: 
    /YourDirectory/YourFilename.html  
  随着网站的不断发展,那些越来越长的URL地址肯定会让人头疼。如果使用SSI,一切就会迎刃而解。
另外一个关于apache中ssi技术的教程可以查阅:
Apache指南:服务器端包含入门
http://www.kreny.com/doc/apache2.0/howto/ssi.html
参考网页
http://www.worldhello.net/doc/website_howto/ssi.html
http://www.carleton.ca/~dmcfet/html/ssi.html 
http://www.dizign.de/ssi/ 
更多精彩内容其他人还在看

移动端开发教程之像素的显示问题汇总

最近在开发中,发现了移动端像素的一些问题,是之前一直没注意过的,这篇文章主要给大家介绍了关于移动端开发教程之像素显示问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
收藏 0 赞 0 分享

关于移动端小图标模糊问题的解决方法

由于移动端的屏幕大小不一,所以我们在做移动端页面的时候,在不同分辨率的手机屏幕下,手机端的图片会显示模糊不清,严重影响了用户体验,所以这篇文章主要给大家介绍了关于移动端小图标模糊问题的解决方法,需要的朋友可以参考借鉴,下面来一起看看吧。
收藏 0 赞 0 分享

web开发教程之跨域的解决方案详解

相信每一个前端er对于跨域这两个字都不会陌生,在实际项目中应用也是比较多的,下面这篇文章主要给大家介绍了关于web开发教程之跨域的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
收藏 0 赞 0 分享

网页制作时可以拿起就用的小技巧总结

这篇文章主要给大家分享了一些在网页制作的时候,可以拿起就用的小技巧,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友可以参考借鉴,下面跟着小编来一起学习学习吧。
收藏 0 赞 0 分享

chrome开发者工具-timeline的详细介绍

这篇文章主要给大家介绍了chrome开发者工具-timeline的相关资料,文中介绍的非常详细,对大家的学习或者工作具有一定的参考价值,需要的朋友们下面来一起学习学习吧。
收藏 0 赞 0 分享

web前端开发课程 web前端开发工具有哪些

随着互联网技术的发展,用户对于web网页的依赖性越来越重,这对于web前端开发工程师的要求也在不断提高,作为开发者来说,开发工作需要依赖很多开发工具的协助。才能更高效的完美的呈现出炫酷的页面。下面小编给大家带来了8个好用的web前端开发常用工具,一起学习吧
收藏 0 赞 0 分享

网站网页设计的一些小知识

这篇文章主要介绍了网站网页设计的一些小知识,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

详解移动端实现内滚动的四种解决方案

这篇文章主要介绍了关于移动端实现内滚动的四种解决方案,实现的效果就是在一个区域内只允许部分区域产生滚动的效果,而其余部分则不能移动,需要的朋友可以参考借鉴,下面来一起看看吧。
收藏 0 赞 0 分享

网站制作入门常识 新手看过来

现在好多人都加入到网站这一行列中来,那么,如何才能制作网站呢?接下来给大家带来网站制作入门常识,需要的的朋友参考下
收藏 0 赞 0 分享

教你如何优雅的实现垂直居中(推荐)

这篇文章主要给大家介绍了关于如何优雅的实现垂直居中的相关资料,文中分别给大家介绍了已知宽高的元素、未知宽高的元素以及基于 Flexbox 的解决方案,都分别给出了示例代码供大家参考学习,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享
查看更多