SSI学习(二)
2014-11-03 10:08
141 查看
1、SSI指令
#config:指定返回到客户端浏览器的错误消息、日期和文件大小所使用的格式。#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学习第一天
- shtml学习,Tomcat配置SSI,及语法指令小记
- ssi开发 学习笔记第三天--配置使用SSI
- ssi开发 学习笔记第四天--第一个例子
- shtml学习,Tomcat配置SSI,及语法指令小记
- ssi框架学习总结(mvc三层架构)
- 疯狂学习java web5(SSI框架)
- ssi开发 学习笔记第二天--为何要使用SSI
- ssi框架学习总结(mvc三层架构)
- shtml学习,Tomcat配置SSI,及语法指令小记
- shtml学习笔记 SSI 指令 语法 详细说明
- SSI框架学习
- ssi开发 学习笔记第五天--SSI指令
- SSI框架学习
- SSI学习(二)
- SSI与SHTML学习
- 【一步一步学SSI系列-1】SSI框架学习总结
- ssi开发 学习笔记第一天--什么是SSI
- Server Side Include( SSI )学习
- SSI学习(一)