1、SSI指令

#config:指定返回到client浏览器的错误消息、日期和文件大小所使用的格式。

#echo:在 HTML 页中插入环境变量的值。

#exec:执行一个应用程序或一条 shell 命令并将输出插入到 HTML 页中。

#flastmod:将文件改动日期插入到 HTML 页中。

#fsize:将文件大小插入到 HTML 页中。

#include:在 HTML 或 ASP 页中包括文件。

由于包括 SSI 指令的文件须要特殊处理,所以必需给 SSI 文件一个 SSI 文件扩展名。

默认的扩展名为 .stm、.shtm 和 .shtml。可是有的SSI指令能够在其它文件里使用。

2、APACHE开启SSI

载入SSI模块
SSI使用的是mod_include的动态系统对象。一般默认的情况安装的情况下都会安装。Linux下能够通过apachectl -l
查看是否包含mod_include.o文件。假设没有,那么须要又一次编译apache。

对于win32版的apache,简单地查看

httpd.conf中LoadModule include_module modules/mod_include.so行是否凝视状态,假设是。去掉# 
配置httpd.conf
使.shtml扩展名的文件启用SSI 
去掉下面配置的凝视
#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml

开启包括功能

找到主机DOCUMENT_ROOT文件夹配置下 

Options Indexes FollowSymLinks 

改动为: 

Options Indexes FollowSymLinks Includes 
须要注意的是,ssi能够利用shell来运行命令,因此这个功能是有危急的,它会运行不论什么包括在exec标记中的命令,假设你的用户有权限改动你的网页内容,建议把该功能关闭。

当然你还能够加上IncludesNOEXEC參数,来关闭exec功能,同一时候又保留SSI。

此时改为: Options
Indexes FollowSymLinks INCLUDES IncludesNOEXEC

3、demo測试

在DocumentRoot目录下新建两个页面:
index.shtml
Time:   <!--#echo var="DATE_LOCAL" -->
<br>
ServerName: <!--#echo var="SERVER_NAME" var="DOCUMENT_URI" -->
<br>
ENV:<!--#printenv -->
<br>
<!--#set var="cond" value="true" -->
<!--#echo var="cond" -->
<br>
<!--#if expr="cond='true'" -->
condition is true
<!--#else -->
condition is false
<!--#endif -->
<br>
<!--#include virtual="header.html" -->

header.html

head页面被包括进来

通过浏览器訪问:http://localhost:9999/index.shtml就可以查看结果









SSI学习(二)的更多相关文章

  1. emberjs学习二(ember-data和localstorage_adapter)

    emberjs学习二(ember-data和localstorage_adapter) 准备工作 首先我们加入ember-data和ember-localstorage-adapter两个依赖项,使用 ...

  2. ReactJS入门学习二

    ReactJS入门学习二 阅读目录 React的背景和基本原理 理解React.render() 什么是JSX? 为什么要使用JSX? JSX的语法 如何在JSX中如何使用事件 如何在JSX中如何使用 ...

  3. TweenMax动画库学习(二)

    目录            TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)            Tw ...

  4. Hbase深入学习(二) 安装hbase

    Hbase深入学习(二) 安装hbase This guidedescribes setup of a standalone hbase instance that uses the local fi ...

  5. Struts2框架学习(二) Action

    Struts2框架学习(二) Action Struts2框架中的Action类是一个单独的javabean对象.不像Struts1中还要去继承HttpServlet,耦合度减小了. 1,流程 拦截器 ...

  6. Python学习二:词典基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...

  7. Quartz学习--二 Hello Quartz! 和源码分析

    Quartz学习--二  Hello Quartz! 和源码分析 三.  Hello Quartz! 我会跟着 第一章 6.2 的图来 进行同步代码编写 简单入门示例: 创建一个新的java普通工程 ...

  8. SpringCloud学习(二):微服务入门实战项目搭建

    一.开始使用Spring Cloud实战微服务 1.SpringCloud是什么? 云计算的解决方案?不是 SpringCloud是一个在SpringBoot的基础上构建的一个快速构建分布式系统的工具 ...

  9. DjangoRestFramework学习二之序列化组件、视图组件 serializer modelserializer

      DjangoRestFramework学习二之序列化组件.视图组件   本节目录 一 序列化组件 二 视图组件 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 序列化组 ...

  10. SpringMVC入门学习(二)

    SpringMVC入门学习(二) ssm框架 springMVC  在上一篇博客中,我简单介绍了一下SpringMVC的环境配置,和简单的使用,今天我们将进一步的学习下Springmvc的操作. mo ...

随机推荐

  1. Python一个命令开启http下载服务器(可以局域网内共享文件)

    前提条件:windows系统上安装python 如果想把D:\asdm作为提供下载的目录, 打开cmd然后cd命令进入该目录:cd D:\asdm, 然后执行Python -m SimpleHTTPS ...

  2. (原创)遗传算法C++实现

    本文没有对遗传算法的原理做过多的解释 基础知识可以参考下面的博客:http://blog.csdn.net/u010451580/article/details/51178225 本实验用到的变异用到 ...

  3. stm32l053r8 nucelo板的串口实验

    stm32cubel0的HAL驱动实例中,基于stm32l53R8  nucelo板的官方串口通讯例程,是使用USART1实现在两块stm32l053r8 nucelo板间通讯.而在实际中,笔者手中只 ...

  4. Python概述与安装

    Python 一门面向对象的解释性语言. Python优点 开发效率高(有丰富的各种类库,不需要重复造轮子):可移植性:解释性:免费开源:交互式(IDLE,代码写一行执行一行) Python缺点 相对 ...

  5. linux如何查看端口被谁占用

    1.查看端口是否被占用 [guosong@alice48 main]$ netstat -nlp|grep 6184 (Not all processes could be identified, n ...

  6. vue初级知识总结

    从我第一篇博客的搭建环境开始,就开始学习vue了,一直想将这些基本知识点整理出来,但是一直不知如何下手,今天刚好实战了两个小demo,所以就想趁这机会将以前的一起整理出来,这是vue最基础的知识,我有 ...

  7. Spring Boot 的Maven多模块开发web项目使用外部容器进行部署

    Spring Boot中自带有Tomcat容器,因此Spring Boot项目只需要运行main函数,就可以运行,但是以往的web项目,我们习惯于使用自己安装的Tomcat运行或者使用Tomcat.J ...

  8. day04 JS

    很伤心,就在前天下午,本人的电脑突然挂了,电脑售后告知需要10个工作日才可修好. 于是乎,昨天学的内容来不及整理,暂且跳过,改天再抽空补上,就当缓几天再复习吧. 今天继续学习了JS的内容. 1 js的 ...

  9. 查看Page结构

    SQL Server存储数据的基本单元是Page,每一个Page的大小是8KB,数据文件是由Page构成的.在同一个数据库上,每一个Page都有一个唯一的资源标识,标识符由三部分组成:db_id,fi ...

  10. android stdio 快捷键

    俗话说工欲善其事必先利其器,先熟悉快捷键是很有必要的                 IDE   按键                                                 ...