clh899 发表于 2015-8-6 09:40:11

Apache SSI详解及应用

  什么是 SSI?
SSI(Server Side Includes),是嵌套在 HTML 网页中的指示语句,由后台服务器进行代码的解释计算。使用 SSI 可以动态的创建一部分网页内容而不需要编写复杂的 JSP/ASP/PHP 等程序。SSI 是如此的小巧以至于不应算作一门语言,因为他远没有JSP/ASP/PHP 等程序那么复杂,只有一些极其有限的语法规则。
很多 HTTP Server 程序都支持 SSI,可能语法稍有不同,比如: IIS/Novell HTTP Server 等等,大同小异,本文要说明的是 Apache 2.0 的 SSI。闲话少说,我想告诉大家的是,这是一篇实践经验总结性的文章,后文中的示例解决方案都是来自实际的网站应用中。
  开启SSI功能需先对apache配置文件(httpd.conf)进行设置 详情请百度
  
AddType text/html .ssi #这里可以是 .shtml 或其他 不一定要 .ssi
Options Includes
AddOutputFilterByType INCLUDES;DEFLATE text/html

  测试SSI是否成功启用 编辑文件
test.ssi

  ~~特别注意 ,由于多了个空格,所以ssi指令被当成注释了。 切记
浏览器访问 http://localhost/test.ssi 能看到打印当前时间 说明SSI已启用
  关于SSI的更多参考资料 ~~~这些文档也可以在 Apache的安装文件夹找到
Apache Tutorial: Introduction to Server Side Includes
http://httpd.apache.org/docs/2.0/howto/ssi.html
  Apache Module mod_include
http://httpd.apache.org/docs/2.0/mod/mod_include.html
  SSI语法:
~~fn可以理解成函数或者指令
例子:
http://~~~环境变量习惯大写
~~~ virtual的值可以是相对路径或绝对路径 如 virtual="/ssi/footer.ssi"
~~~file的值只能是相对路径
~~~ 设置自定义变量
  SSI 语句是直接嵌套在 HTML 页面中的,可以放置在任意的位置。所以 SSI 语句前后采用 HTML 注释的写法,这样一旦服务器关闭了对 SSI 的支持,此时访问页面的话,也不会直接在网页上显示出不必要的代码。
  ~~~SSI不区分大小写,环境变量用大写是很好的习惯; SSI中只有一种数据类型:字符串; SSI中的转义符是 \ ,字符串可以用双引号或单引号包裹 ~~同JS
  SSI 中的变量分为自定义变量和环境变量。
自定义变量使用 set 命令来创建:
环境变量是系统已经存在的一些默认的变量和变量值,可以直接使用。
DATE_LOCAL 就是一个环境变量,用来显示当前本地时间。类似的环境变量还有很多,比如常用HTTP_HOST、SERVER_NAME、DOCUMENT_URI、DOCUMENT_NAME 等等。
  查看所有环境变量
由于无换行所以按ctrl+u,以网页源代码的方式查看更清晰点
------- 应用示例: --------------




Learning Apache SSI


  

  
Left Navigation
  Right Navigation
  
This is "
页: [1]
查看完整版本: Apache SSI详解及应用