dedecms织梦内容管理系统    
首页 | java | C/C++ | PHP | 操作系统 | ajax | 脚本编程 | 安全技术 | 本站下载页 | flex | CRM | 专题 | QQ群 | 测试中心 | 会员中心 | 积分规则
  当前位置:主页>PHP>php技术资料>文章内容
SSI使用详解(一)
来源:未知     作者:    
  你是否曾经或正在为如何能够在最短的时间内完成对一个包含上千个页面的网站的修改而苦恼?那么可以看一下本文的介绍,或许能够对你有所帮助。

什么是SSI?

  SSI是英文Server Side Includes的缩写,翻译成中文就是端包含的意思。从技术角度上说,SSI就是HTML文件中,可以通过注释行调用的命令或。SSI 具有强大的功能,只要使用一条简单的SSI 命令就可以实现整个网站的内容更新,动态显示时间和日期,以及执行shell和CGI脚本程序等复杂的功能。SSI 可以称得上是那些资金短缺、时间紧张、工作量大的网站开发人员的最佳帮手。

  SSI最初在NCSA平台上推出,在Apache中得到扩展和加强,目前已经可以在几乎所有的上运行。本文将主要结合Apache介绍SSI的使用方法。

如何启动SSI?

  在Apache下,可以通过直接编辑配置文件或者在需要使用SSI的目录中创建.ht文件启动SSI。具体来说,过程如下:

1.配置文件

  如果用户具有对配置文件的访问权限,可以通过编辑文件.conf和srm.conf启动SSI。

  首先使用Telnet远程登录,找到配置文件的存放目录。一般来说,Apache的配置文件都被保存在“/usr/local/etc/httpd/conf”目录下。使用任何一种文字编辑器打开文件srm.conf,找到以下几行:

# If you want to use server side includes, or CGI outside
# ScriptAliased directories, uncomment the following lines.
#AddType text/x-server-parsed-html .shtml

#AddType application/x-httpd-CGI .CGI

  用户的配置文件中可能没有上述的注释指令行,但是只要找到以AddType开头的两行并且去掉每一行最前面的“#”符号即可。

  保存所做的修改,然后再打开文件.conf。用户需要在文件中找到设置DocumentRoot(根文件)的部分。一般来说该段文本如下,但是不排除$#@60;Directory$#@62;和$#@60;/Directory$#@62;标签之间还包含其它设置内容。

# This should be changed to whatever you set DocumentRoot to.
$#@60;Directory /usr/local/etc/httpd/htdocs$#@62;
# This may also be "None", "All", or any combination of "Indexes",
Options Indexes FollowSymLinks Includes
$#@60;/Directory$#@62;

  如果用户不希望执行脚本或shell命令,可以在options选项行中加入关键字IncludesNOEXEC,这样可以允许SSI,但是不能执行CGI或脚本命令。(注:最新版本的Apache只有一个配置文件httpd.conf,以上所提到的内容都已经被包含在该文件中)

2.创建文件.ht

  如果用户不能直接访问配置文件,可以使用文件编辑器创建一个名为.ht的文件。注意,文件名前一定要有符号“.”,这样才能知道该文件是隐藏文件,从而提高文件的安全性,避免错误操作。在.ht文件中需要加入以下三行文字:

Options Indexes FollowSymLinks Includes
AddType application/x-httpd-CGI .CGI
AddType text/x-server-parsed-html .shtml

  完成之后可以把.htaccess文件上传到服务端的相应目录,该文件对所有子目录有效。如果用户希望在目录级上禁止CGI或shell命令,可以在.ht文件中的Options选项行加入关键字IncludesNOEXEC。

3.使用.shtml还是.html?

  任何包含SSI的文件在下传到客户端之前,都必须经过的解析过程。虽然从某种程度上这样会增加的负载,但是除非用户的网站每天有几百万的访问用户,某则的性能不会有明显的下降。不过,如果不是需要在每个页面都使用SSI的话,确实没有必要让解析每一个页面。如果用户只希望在几个特殊页面中使用SSI,可以将文件的后缀名改为.shtml,这样就可以只解析包含SSI的.shtml文件。另一方面,如果有多个页面使用了SSI,但是用户不希望使用.shtml的后缀名时,可以在.ht文件中使用以下命令行:

AddType text/x-server-parsed-html .html

SSI语法

SSI在使用时遵循以下格式:

$#@60;!--#directive parameter="value"--$#@62;

  其中,directive是向发送的指令名称,parameter是指令的操作对象,而value则是用户希望得到的指令处理结果。
  所有的SSI命令都是以“$#@60;!--#”开始,其中“$#@60;!—”和“#”之间不能有任何空格,否则会把SSI命令当称普通的文件注释处理,不会显示出任何结果,也不会产生错误提示。此外,SSI命令中的“=”两边不能有空格,右边的值必须包含在双引号内,后面可以跟空格,最后是结束标签“--$#@62;”。

SSI命令包含六大类指令以及各自的参数,具体如下:

directives

parameters

Config

errmsg, timefmt, sizefmt

include

virtual, file

echo

var

fsize

file

flastmod

file

exec

cmd, cgi

 

 

上一篇:PHP和MySQL开发的8个技巧   下一篇:SSI使用详解(二)
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·通过对PHP服务器端特性的配置加
·php与mysql三日通
·AJAX技术在PHP开发中的简单应用
·大家所使用的PHP开发环境
·PHP缓存的实现
·针对PHP新手总结的PHP基础知识
·一个简单实现多条件查询的例子
·PHP串行化变量和序列化对象
·PHP表单
·推荐阅读:php技术生成静态页面
·php实用函数
·php生成随机数
  相关文章
·PHP和MySQL开发的8个技巧
·SSI使用详解(二)
·虚拟主机中对PHP的特殊设置
·PHP中实现面向对象编程
·提升PHP速度全攻略
·PHP中通过Web执行C/C++应用程序
·多php服务器实现多session并发运
·PHP安装攻略:安装并配置PHP
·PHP中对数据库操作的封装
·PHP应用分页显示制作详细讲解
·用PHP制作饼图调查表
·MySQL数据库基础教程
  相关信息
copy right @ 百家拳软件项目研究室 2007 辽ICP备07011763