使用SHTML更好的维护门户网站(转)

简介:
< DOCTYPE html PUBLIC -WCDTD XHTML TransitionalEN httpwwwworgTRxhtmlDTDxhtml-transitionaldtd>
转自:http://blog.breakn.net/article.asp?id=266
目前为部分访问量大的页面自动生成HTML的方式,不过一些很多页面都要用到的菜单什么的如果要改就要改好几个页面很是郁闷。之前老早就知道SSI技术,不过只是知道有这个东东,怎么去用不太知道,只知道可以使用# include  使用SHTML更好的维护门户网站(转) - netcorner - netcorner的博客 ~~~浪费啊~~~~

1)、为什么要用shtml
  • 按照官方的解释,shtml属于静态网页范畴,因此shtml比asp执行的速度快。也正因为如此,在服务器asp死锁时可以照常运转。
  • 它可以包含文件,比如直接include进来一个文件,这个大家都知道了,这也是为什么这么多人用shtml的主要原因:具有静态网页的特性,又有最重要的“包含”功能。
  • 通过#echo可以获得Request.ServerVariables Collection。这个功能可以省却一部分javascript的编程量。
  • 通过#flastmod/#fsize可以即时显示某一个文件的最后修改时间和大小。不用fso就能实现。一些需要经常定时更新的叶面可以使用。
  • #exec用来执行一些程序调用。这玩意比较危险,可以通过修改注册表禁止。
2)、服务器设置
这里以win2003为例,如下图设置就好
使用SHTML更好的维护门户网站(转) - netcorner - netcorner的博客 

3)、服务器端包括(SSI)的指令语法(shtml)

SSI:Server Side Includes

大多数 SSI 文件是常用与 IIS 以允许内容创作者包括的其他文件, 内一个文件允许轻松创建的脚本库或页面页眉和页脚内容。

SSI 文件, 像 Active Server Pages (ASP) 和 Internet 数据连接器 (IDC) 文件, 是通过文件扩展到预处理器动态链接库 (DLL) 脚本映射。 万一有 SSI, 处理程序是 Ssiinc.dll。 尽管也支持扩展的 .shtm 和 .shtml SSI 文件通常名称与 .stm 文件扩展名, 为。

通过使用特殊的预处理指令的 SSI 是使用 SSI 文档中。 这些指令由 SSI DLL 分析和处理。 所有指令都包含在 HTML 注释标记并且采取以下一般形式:
<!--#<DIRECTIVE> [<ADDITIONAL DA TA>]-->
IIS 实现的 SSI 中支持下列指令:
? #config - 配置如何显示变量和命令。
? 一般语法对于 #config 指令是如下:<!-- #CONFIG <ERRMSG/TIMEFMT/SIZEFMT>="<format>" -->
以下是使用 #config 指令简单网页的示例:<html>
<body>
<!-- #CONFIG TIMEFMT="%m/%d/%y" -->
<p>Today's Date = <!--#ECHO VAR = "DATE_LOCAL" --></p>
<!-- #CONFIG TIMEFMT="%A, %B %d, %Y" -->
<p>Today's Date = <!--#ECHO VAR = "DATE_LOCAL" --></p>
</body>
</html>
#echo - 将各种通用网关接口 (CGI) 系统环境变量的值。? 一般语法对于 #echo 指令是如下:<!--#ECHO VAR = "<CGI_VARIABLE_NAME>"-->以下是使用 #echo 指令简单网页的示例:<html>
<body>
<p>Server Name = <!--#ECHO VAR = "SERVER_NAME"--></p>
<p>Date = <!--#ECHO VAR = "DATE_LOCAL" --></p>
<p>Page URL = <!--#ECHO VAR = "URL" --></p>
</body>
</html>
#exec 执行 CGI 或 Internet 服务器 API (ISAPI) 命令 - 脚本并将输出插入 HTML 文档。? 一般语法对于 #exec 指令是如下:<!-- #EXEC <CGI/CMD>="<command>" -->CMD 命令对于 #exec 指令 IIS 5.0 上默认禁用。 有关详细信息, 请参阅下列 Microsoft 知识库文章:233969 ( http://support.microsoft.com/kb/233969/) SSIEnableCmdDirective 默认设置为 FALSE
以下是使用 #exec 指令简单网页的示例:<html>
<body>
<p>Root Directory of C:</p>
<pre><!--#EXEC CMD="cmd /c dir c:\ /b"--></pre>
</body>
</html>
#flastmod - 检索指定文件的上次修改时间。? 一般语法对于 #flastmod 指令是如下:<!--#FLASTMOD <FILE/VIRTUAL> = "filename.ext"-->

以下是使用 #flastmod 和 #config 指令简单网页的示例:<html>
<body>
<!-- #CONFIG TIMEFMT="%m/%d/%y" -->
<p>Modified Date = <!--#FLASTMOD FILE="filename.ext"--></p>
<!-- #CONFIG TIMEFMT="%B %d, %Y" -->
<p>Modified Date = <!--#FLASTMOD FILE="filename.ext"--></p>
</body>
</html>
#fsize - 检索指定文件的大小。
一般语法对于 #fsize 指令是如下:<!--#FSIZE <FILE/VIRTUAL> = "filename.ext"-->

以下是使用 #fsize 和 #config 指令简单网页的示例:<html>
<body>
<!-- #CONFIG SIZEFMT="BYTES" -->
<p>File Size = <!--#FSIZE FILE="filename.ext"--> bytes</p>
<!-- #CONFIG SIZEFMT="ABBREV" -->
<p>File Size = <!--#FSIZE FILE="filename.ext"--> KB</p>
</body>
</html>

# include - 包括内部另一个指定文件的内容。
# include 指令一般语法将如下所示:<!--#INCLUDE <FILE/VIRTUAL> = "filename.ext"-->

以下是使用 # include 指令简单网页的示例:<html>
<body>
<!--#INCLUDE FILE = "header.inc"-->
<p>Hello World!</p>
<!--#INCLUDE VIRTUAL = "/includes/footer.inc"-->
</body>
</html>

有关文件和虚拟语法详细信息通过使用文件或虚拟路径 SSI 指令使用文件路径可引用文件。 ? 文件元素用于是相对于当前文档的文件夹的文件。 以下示例在当前文件夹中包括一个文件:<!--#include file="myfile.txt"-->

虚拟元素表示路径是相对于基本的 Web 服务器文件夹。 以下示例包括文件: /scripts 虚拟文件夹中<!--#include virtual="/scripts/myfile.txt"-->
Server Side Includes

The WebCom WWW Server allows you to create documents which include other documents and various dynamically generated information, such as the current date, the file's last modification date, and the size or last modification of other files. Note: The "exec" command is not available, due to security considerations.

Special File Extension Necessary

Files utilizing includes must end in ".shtml". If they do not, the includes will be ignored.引用  参考其他有关使用 SSI IIS, 请单击下列文章编号以查看 Microsoft 知识库文章:
169996 ( http://support.microsoft.com/kb/169996/) 要运行带有 #exec, ISAPIDLL 使用 CGI 语句
166491 ( http://support.microsoft.com/kb/166491/) 安全批处理文件返回访问拒绝错误
195291 ( http://support.microsoft.com/kb/195291/) 如何禁用 #exec 服务器端包含文件中
本文转自 netcorner 博客园博客,原文链接: http://www.cnblogs.com/netcorner/archive/2009/01/13/2912079.html   ,如需转载请自行联系原作者
相关文章
|
域名解析 传感器 网络协议
DNS科普系列 :被动DNS(Passive DNS)
在DNS领域有一些“专有技术名词(俗称行业”黑话“),不熟悉DNS和相关应用的人可能不容易接触和理解他们。从这篇开始,我们将帮助大家梳理一些DNS专有名词,本期的专有名词是:被动DNS(Passive DNS)。
DNS科普系列 :被动DNS(Passive DNS)
|
Web App开发 Python
【Chromedriver】下载、安装及配置
简介:【Chromedriver】下载、安装及配置
11505 60
【Chromedriver】下载、安装及配置
|
存储 传感器 定位技术
【NI Multisim 14.0原理图设计基础——元器件分类】
一、元器件分类 NI Multisim 14.0不仅提供了数量众多的元器件符号图形,而且还设计了元器件的模型,并分门类地存储在各个元器件库中。下面按照元器件库的命名不同详细介绍常用的元器件。 1.电源库 单击“元器件”工具栏中的“放置源” 按钮,Sources 库的“系列”栏包括以下几种,如图所示: 电源(POWER-SOURCES):包括常用的交直流电源、数字地、地线、星形或三角形连接的三相电源、VCC、VDD、VEE、VSS 电压源,其元器件”栏下内容如图所示: 电压信号源(SIGNAL-VOLTAG…):包括交流电压、时钟电压、脉冲电压、指数电压、FM、AM等多种形式的电压信号,其“元器
22516 4
【NI Multisim 14.0原理图设计基础——元器件分类】
|
运维 应用服务中间件 Linux
keepalived详解(三)——keepalived与Nginx配合实战
keepalived详解(三)——keepalived与Nginx配合实战
721 1
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
1243 87
|
人工智能 搜索推荐 数据可视化
当AI学会“使用工具”:智能体(Agent)如何重塑人机交互
当AI学会“使用工具”:智能体(Agent)如何重塑人机交互
1038 115
|
12月前
|
人工智能 监控 搜索推荐
数聚酷:如何让AI答案显示品牌名?
如何让品牌被AI推荐?2025年,生成式引擎优化(GEO)取代传统SEO。通过构建权威内容库、用户导向创作、数据交叉验证与结构化输出,让AI主动引用你的品牌,抢占搜索心智入口。
853 1
|
人工智能 数据可视化 架构师
低代码平台的前世今生:AI 时代的新起点!
本文探讨了软件开发生产力的三次飞跃及其对企业和开发者的深远影响。从90年代RAD带来的可视化革命,到低代码平台推动全民开发,再到生成式AI实现智能建造,每次技术变革都显著提升了开发效率。文章分析了低代码与AI的融合趋势,提出通过分层设计、扩展机制和安全治理实现两者协同,并展望了未来无人化开发的可能性。最终强调,企业和开发者应拥抱低代码与AI的结合,找到适合自身的数字化转型路径。
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
2199 8
|
存储 运维 监控
运维.Linux下执行定时任务(中:Cron的常用替代方案)
本文是关于Linux下执行定时任务系列的第二部分,主要探讨除了Cron之外的常用替代方案。介绍了Systemd Timers、Anacron及at命令三种工具,它们分别适用于不同场景下的定时任务需求。文章详细分析了每种工具的特点、工作原理、基本使用方法及其高级功能,并对比了它们各自的优缺点,帮助读者根据实际情况选择最适合的定时任务解决方案。此外,还提供了指向具体实例和进一步阅读材料的链接。
1217 4
运维.Linux下执行定时任务(中:Cron的常用替代方案)