文章来源:
http://down.chinaz.com/server/201106/695_1.htm
现在基本各种主流CMS在生成静态文件时,都提供实现自定义扩展名的功能,其中就有生成.shtml的。那么SHTML究竟是什么?有哪些特点?CMS中网页生成SHTML有哪些优势?
1. 什么是SHTML? SHTML有哪些特点
SHTML实际是支持SSI指令的静态HTML文本。SSI英文为Server Side Include,中文意即服务器端包含。通过SSI指令可以通过注释行调用命令或指针,可以在静态文本中直接包含其它静态文件,只要使用一条简单的SSI 命令就可以实现整个网站的内容更新,动态显示时间和日期,以及执行shell和CGI脚本程序等复杂的功能。
SHTML的特点:
目前,主要有以下几种用用途:
显示服务器端环境变量<#echo>
将文本内容直接插入到文档中<#include>
显示WEB文档相关信息<#flastmod #fsize> (如文件制作日期/大小等)
直接执行服务器上的各种程序<#exec>(如CGI或其他可执行程序)
设置SSI信息显示格式<#config>(如文件制作日期/大小显示方式)
高级SSI<XSSI>可设置变量使用if条件语句。
SHTML静态文件在发送到浏览器之前服务器首先会对其中的SSI命令进行处理,把所包含的文件以静态HTML的形式整合到SHTML文件中来后再输出。被包含的HTML文件如果有更新,网站静态SHTML页面中的内容会自动更新显示。可以使用一些SSI指令直接显示一些内容,如客户端IP,当时时间等,及执行一些程序等。
2. CMS中网页生成SHTML有哪些优势?
在CMS生成静态文件是使用.shtml扩展名的最大的优势是可以直接在生成的静态文件中动态的包含其它需要经常更新的内容或者公共内容,公共内容更新后,静态文件无需重新生成,内容即自动 更新。
如内容页侧边栏调用最新文章列表、推荐文章等,如果内容页生成静态,后面这些列表无法自动更新,非得手动全站生成,这样是非常麻烦的,如果使用生成.shtml的方式,那么把介边栏的文章列表生成单独的html文件,然后在.shtml中以ssi指令引用(<!--#include file="sidebar.html"-->),只有在文章有更新时,让侧边栏的列表文章静态文件如sidebar.html自动生成一下静态,全站内容页的侧边栏内容都自动跟着更新了。
如果CMS程序设计的好,在程序中做些判断,让以.shtml生成的页面,能够方便自定义一个html块来调用动态内容,这样会非常方便,不用每次更新内容页的一小点内容就需要全站生成。这一点,PHPCMS中的碎片功能设计的是非常不错的,PHPCMS中的碎片功能,可以方便在页面上自定义区域手动添加推荐内容,如果页面开启生成.shtml的功能,那么碎片自动以HTML静态文件的方式存储,然后以SSI指令包含到页面中,这样以后更改碎片中的内容时,无需全站页面重新生成,内容即自动更新。
更深度点的做法时,新建一个单页面,去掉头部和尾部,使用PHPCMS的标签如GET标签调用文章数据,然后生成静态,使用SSI指令包含在到模板中,生成静态后,以后每次添加新文章后,把单页面生成一下静态,整站通过SSI指令引用这个单页面的地方都自动更新。
3. 服务器如何开启SHTML?
1) 在IIS里添加一个应用程序扩展名映射:
在IIS网站属性=》》主目录=》》配置=》》应用程序配置界面=》》添加=》》添加/编辑应用程序扩展名映射=》浏览选择C:\WINDOWS\system32\inetsrv\ssinc.dll,扩展名填写.shtml,点选限制为GET,POST确定即可。
2) 在开启“在服务器端的包含文件”的扩展:IIS=》》WEB服务器扩展=》》“在服务器端包含文件”=》》允许
3)Apache则是根据你的设置情况而定,修改srm.conf如:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
Options Indexes FollowSymLinks includes4)nginx 也有内置的SSI 模块 ngx_http_ssi_module,修改配置文件开启
ssi on;
ssi_silent_errors on;
ssi_types text/shtml;4. SHTML的语法规则是什么?
CMS中生成静态采用.shtml时,使用最多的SSI指含某过于HTML文件包含指令,语法规则如下:
<!--#include file="sidebar.html"--> sidebar.html可改为任何需要被引用的HTML文件,不能是网址,可以是相对路径。使用该SSI指含包含静态文件后,以后只需更新静态文件里面的内容,全站引用该文件的地方都会跟着更新,无需生成。
如果<!--#include file="abc.php"-->包含的是PHP文件,那么,输出的不会是PHP文件执行的结果,而是PHP文件本身的内容。
分享到:
相关推荐
在IT行业中,生成静态网页(如shtml)的程序通常用于提高网站的加载速度和搜索引擎优化。SHTML(Server Side Include HTML)是一种结合了服务器端脚本与HTML的文件格式,它允许开发者在HTML文件中嵌入服务器端的指令...
3、在程序对话框中配置数据库连接信息(或点“选择配置文件”,选中Config/ConnectionStrings.config文件可自动读出数据库链接信息); 4、点击[智能升级]即可完成数据库升级; 5、升级完成后,请时将同一版本的程序...
3、在程序对话框中配置数据库连接信息(或点“选择配置文件”,选中Config/ConnectionStrings.config文件可自动读出数据库链接信息); 4、点击[智能升级]即可完成数据库升级; 5、升级完成后,请时将同一版本的程序...
4. **字符串处理**:在生成sHTML的过程中,可能需要对字符串进行查找、替换等操作,这通常涉及`java.lang.String`类的方法,如`replace()`或`replaceAll()`。 5. **HTTP响应**:Servlet需要设置HTTP响应的状态码、...
在压缩包的文件名称列表中,"[整站程序]达达(.Net)编程之路全站程序shtml版_pn163.com_web"可能是指该网站的名称或者域名,"pn163.com"可能是一个示例域名,"web"通常代表这包含了Web应用程序的相关文件。...
程序介绍: 程序实现了有关编程文章和业界新闻的发布和管理! 学习要点: 三层,存储过程,AJAX,生成静态,二级分类导航.. 数据库路径在Web.Config文件夹下,自己修改,另外调试时请使用IIS,不要用VS,我路径方面没调节...
3、在程序对话框中配置数据库连接信息(或点“选择配置文件”,选中Config/ConnectionStrings.config文件可自动读出数据库链接信息); 4、点击[智能升级]即可完成数据库升级; 5、升级完成后,请时将同一版本的程序...
■前后端全面引入scss(sass)技术,与Bootstrap官方保持一致(作为国内首家引入Bootstrap的CMS厂商,一直推动基产品的国内实施和普及教育)。 ■Markdown编辑器,可访问https://www.73ic.com/Plugins/markdown/ 体验...
3、在程序对话框中配置数据库连接信息(或点“选择配置文件”,选中Config/ConnectionStrings.config文件可自动读出数据库链接信息); 4、点击[智能升级]即可完成数据库升级; 5、升级完成后,请时将同一版本的程序...
3.0.2-final-src,在src文件夹下会看到有三个压缩文件,如果只想进行普通的二次开发,可以只导入cms这个源码,删除jeecms-cms-identity-3.0.2-final.jar即可,如果想进行深入的二次开发,需要导入common和core源码,...
CMS4J绝非国外一些开源产品的改造版,我们秉承用户本土化的原则,切身体验国内CMS系统的应用现状与实际需求,为中小企业量身定做,CMS4J项目在立项时,就已经立下了以下四大目标: [目标 1]: 不编程,做动态...
本程序适用于v8.5.0前所有历史版本升级到v8.5.0版本,仅限于数据库存...3、在程序对话框中配置数据库连接信息(或点“选择配置文件”,选中Config/ConnectionStrings.config文件可自动读出数据库链接信息); 4、点击exe
### SHTML 教程 #### 一、SHTML 概述 SHTML 是 Server-Side Includes(服务器端包含,简称 SSI)的一种扩展版本,它...通过本文的介绍,希望读者能够对 SHTML 有更深入的理解,并能在实际项目中灵活运用这些知识。
【SHTML企业网站生成原理与ASP.NET 2.0+AJAX应用...通过这个项目,开发者不仅可以学习到如何构建一个功能完善的SHTML企业网站,还能深入理解ASP.NET 2.0和Ajax在实际项目中的应用,为后续的Web开发工作打下坚实的基础。
而"CMS4J 2008 介绍.txt"和"CMS4J 2008 安装指南.txt"则分别提供了系统的基本介绍和详细的安装步骤,帮助用户快速理解和部署这个CMS系统。 "ROOT"可能是项目的主要根目录,包含整个网站的源代码、配置文件和其他...
开发者可以借此学习如何在ASP.NET环境中组织和构建一个完整的web应用程序,了解页面的交互逻辑、数据绑定、用户认证、角色管理等多个方面。 此外,"pn163.com"可能是这个网站的域名,这表明这个项目可能是为模拟...
标题中的"Terminator中断应用程序"可能是指一个用于在运行时终止或中断其他应用程序的工具或技术。在编程中,特别是在系统级编程和调试中,这样的功能是必要的,例如为了测试、故障排查或者资源管理。"Terminator"这...
在《CSS+Shtml学习手册》中,读者可以深入学习这两门技术的详细用法。手册可能涵盖了CSS的选择器、盒模型、布局模式、动画和过渡,以及SHTML的指令、错误处理和安全考虑等方面。此外,还可能提供了丰富的实例和实践...
SHTML文件使用SSI(Server Side Include)技术,允许在HTML文档中嵌入服务器端的指令,这些指令在服务器处理文件时会被解析和执行,而不是在客户端浏览器中。这使得开发者能够方便地在页面中插入动态内容,如时间戳...