与
ESC
输入关键词搜索文章

Nginx开启SSI模块支持shtml

全文约 749 字预计阅读 3 分钟
今天需要shtml,测试了下,很简单在nginx.conf 文件的 http{} 段中,以开启 SSI 模块的支持: ssi on; ssi_silent_errors on; ssi_types text/shtml; 重启nginx即可 带点shtml语法

SSI有什么用?

之所以要扯到 SSI,是因爲 Shtml - Server-Parsed HTML 的首字母缩略词。包含有嵌入式服务器方包含命令的 HTML 文本。在被传送给浏览器之前,服务器会对 SHTML 文档进行完全地读取、分析以及修改。shtml和asp 有一些相似,以shtml命名的文件里,使用了ssi的一些指令,就像asp中的指令,你可以在SHTML文件中写入SSI指令,当客户端访问这些shtml文件时,服务器端会把这些SHTML文件进行读取和解释,把SHTML文件中包含的SSI指令解释出来比如:你可以在SHTML文件中用SSI指令引用其他的html文件(#include ),服务器传送给客户端的文件,是已经解释的SHTML不会有SSI指令。它实现了HTML所没有的功能,就是可以实现了动态的SHTML,可以说是HTML的一种进化吧。像新浪的新闻系统就是这样的,新闻内容是固定的但它上面的广告和菜单等就是用#include引用进来的。 目前,主要有以下几种用用途:
  1. 显示服务器端环境变量<#echo>
  2. 将文本内容直接插入到文档中<#include>
  3. 显示WEB文档相关信息<#flastmod #fsize> (如文件制作日期/大小等)
  4. 直接执行服务器上的各种程序<#exec>(如CGI或其他可执行程序)
  5. 设置SSI信息显示格式<#config>(如文件制作日期/大小显示方式)
#echo 示范 作用:将环境变量插入到页面中。 语法:

<!--#echo var="变量名称"-->

示例:

<!--#echo var="DOCUMENT_NAME"--> 本文档名称 <!--#echo var="DATE_LOCAL"--> 现在时间 <!--#echo var="REMOTE_ADDR"--> 你的IP地址

#include 示范 作用:将文本文件的内容直接插入到文档页面中。 语法:

<!--#include file="文件名称"--> <!--#include virtual="文件名称"-->

file 文件名是一个相对路径,该路径相对于使用 #include 指令的文档所在的目录。被包含文件可以在同一级目录或其子目录中,但不能在上一级目录中。如表示当前目录下的的nav_head.htm文档,则为file="nav_head.htm"。 virtual 文件名是 Web 站点上的虚拟目录的完整路径。如表示相对于服务器文档根目录下hoyi目录下的nav_head.htm文件;则为file="/hoyi/nav_head.htm" 参数: file 指定包含文件相对于本文档的位置 virtual 指定相对于服务器文档根目录的位置 注意:
  1. 文件名称必须带有扩展名。
  2. 被包含的文件可以具有任何文件扩展名,我觉得直接使用htm扩展名最方便,微软公司推荐使用 .inc 扩展名(这就看你的爱好了)。
示例:

<!--#include file="nav_head.htm"--> 将头文件插入到当前页面 <!--#include file="nav_foot.htm"--> 将尾文件插入到当前页面

分享

发表评论

评论 0 条

暂无评论,来说点什么吧。