Server Side Includes

ssi技术是通过在html中加入ssi指令,让服务器在输出html之前解析ssi指令,并把解释的结果连同html一起输出到客户端。ssi指令是在服务器端执行的。 
  ssi一般用途:
  1.显示服务器端环境变量<#echo>
  
  2.将文本内容直接插入到文档中<#include>
   #include virtual
   #include file
  3.显示WEB文档相关信息<#flastmod #fsize> (如文件制作日期/大小等)
  4.直接执行服务器上的各种程序<#exec>(如CGI或其他可执行程序)
  5.根据值判断显示内容<#if>
  6.修改SSI的默认设置<#config>(如文件制作日期/大小显示方式)  
  

  在动态页面或者动态查询的作用
  1. 动态查询
   比如
  2.动态页面
   1) Server-Resolved SSI and Script
   可以在常规页面中使用的任何SSI - 甚至脚本(如PHP或ASP)都可以在动态页面中解析
   2) SSI Emulation
   使用此方法,程序将使用与服务器相同的规则在页面中呈现SSI。这允许动态页面使用与作为静态文件生成的页面相同的包含虚拟标记
贴一个参考链接:
 https://www.interactivetools.com/docs/articlemanager2/templates/ssi.html

使用ssi的好处

  • ssi是通用技术,不会局限于运行环境
  • 在页面中加入少量的动态内容,不用做其他额外的工作
      

在Nginx中解析ssi语法

  • ngx_http_ssi_module是个过滤器,会在相应中处理ssi指令

  • 开启 ssi

    location / {
    	ssi on;
    }
    
    例子:
    server {
    	listen 8000;
    	server_name localhost;
    	location /test {
    		proxy_pass http://127.0.0.1:3033;
    	}
    	location / {
    		ssi on;
    		root   html;
    		index  index.html index.htm index.shtml;
    	}
    }
    

页面中添加ssi指令

框架页面


<body>
	<h1>Welcome to test!</h1>

	<!--此处是加载另一个页面-->

	<!--# include virtual="/test" -->

</body>
</html>

被加载的页面(端口3033)

<body>
<h1>Welcome to test!</h1>
	<div class="box">
	
    <h2>这里是被加载的页面</h2>
    
</div>
</body>
</html>

效果

posted @ 2017-03-07 18:31  短脖子小鹿  阅读(372)  评论(0编辑  收藏  举报