zoukankan      html  css  js  c++  java
  • 服务器端包含 SSI简介

    服务器端包含 SSI,是英文 Server Side Includes的简写。SSI是一种可以指挥服务器动态声称网页内容的HTML指令。

    通常SSI可以用来确保网页中的一些通用内容,比如版权信息、联系方式、或导航信息在全站所有网页中保持一致。使用SSI显示这些通用内容还可以减轻网站维护的工作量,因为当需要修改这些通用信息的时候,只需要改一个地方就可以了,而不需要逐个修改每一个网页。

    各个服务器对SSI命令的支持各有不同,但 #include 和 #exec 是通用的。使用 SSI 的页面文件通常都使用扩展名.shtml,而不是.html 或 .htm,这样以便服务器能够辨认出哪些页面包含SSI指令,这些页面需要先经过服务器处理,翻译执行其中的SSI指令,然后才发送给客户端浏览器。  (当然有些服务器还是支持.html,.htm文件中有SSI指令的)。

     

     

    如何辨别你的服务器是否支持 SSI?

    多数网站寄存服务都支持 SSI – 但是也有一些不支持,特别是一些免费的网站寄存服务。你可以联系你的网站寄存公司询问他们是否支持SSI,也可以通过以下方式来自己测试一下你的服务器是否支持SSI:

    1. 拷贝以下HTML内容,保存为文件名test.shtml

    <html><head></head>

    <body><!–#echo var=”DATE_LOCAL” –></body>

    </html>

    2. 将这个文件上载到你的服务器上,然后用浏览器浏览服务器上的这个网页。

    3. 如果看到网页显示当前日期,则你的服务器支持 SSI。否则,多半可能你的服务器不支持SSI。你可以尝试与你的网站寄存公司联系看他们是否可以为你开通SSI服务。

    练习1: 显示版权信息

    1. 拷贝以下内容并存为copyright.html文件名 (你可以把链接和网站名称修改为你的网站):

    &copy;2007 <a href=”http://www.prglab.com”> 程序员实验室</a> 版权所有。

    在浏览器中它应该显示为

    ©2007 程序员实验室 版权所有。

    注意:在这个文件代码中不能够出现 <html>, <head> 和 <body> 这些标签,否则包含它的页面会出错。

    2. 将这个文件copyright.html上传到你的服务器上。

    3. 在要显示版权信息的页面底部</body>标签之前插入以下代码:

    <!–#include virtual=”/copyright.html” –>

    4.将修改后的文件上传到服务器上,然后用浏览器打开服务器上的文件,你应该看到页面的底部显示版权信息。

    注意: 写有包含指令(#include)代码的文件可能要保存为扩展名为.shtml的文件名,代码才能生效。

     

    练习 2: 简单的导航条

    1. 比如我们要写一个如下所示的导航条

    主页| 联系方式 | 产品介绍 | 订单

    可以用以下HTML代码来实现:

    <p align=”center”><font face=”Geneva, Arial, Helvetica, sans-serif” size=”2″>

    <a href=”home.htm”>主页</a>

    | <a href=”mailto:myemail@address.com”>联系方式</a>

    | <a href=”products.htm”>产品介绍</a>

    | <a href=”orders.htm”>订单</a></font></p>

     

    2. 保存这些代码为文件 navigation.shtml 或 navigation.shtm.

    3. 打开要插入导航条的页面,在要显示导航条的位置插入以下代码:

    <!–#include virtual=”/navigation.shtml” –>

    4. 将所有文件上载到服务器上,并用浏览器检查导航条是否如你所设想的显示。

    以上只是两个很简单的SSI使用的例子,你还可以自由发挥写出更复杂的网页。如果需要修改SSI包含的内容,只需要打开写有通用内容的网页,比如上面的copyright.html或navigation.shtml,修改其中的内容,那么所有包含这个文件的网页相应内容都会被自动修改。

    SSI 相对来说比较容易掌握,并能提高网站维护效率,不妨一试。


  • 相关阅读:
    函数式编程与命令式编程的学习难度比较
    Swfit4.0中JSON与模型原生互转(JSONEncoder/JSONDecoder的使用)
    元类型与类型的区别
    Swift
    swift类型操作规范
    PHP实现执行定时任务的几种思路详解
    基于ThinkPHP与阿里大于的PHP短信验证功能
    laravel中将session由文件保存改为数据库保存
    laravel5.*安装使用Redis以及解决Class 'PredisClient' not found和Fatal error: Non-static method Redis::set() cannot be called statically错误
    Python基础知识汇总
  • 原文地址:https://www.cnblogs.com/hanguidong/p/9685532.html
Copyright © 2011-2022 走看看