zoukankan      html  css  js  c++  java
  • Windows 的Apache支持SSI配置

    配置SSI
    什么是shtml?
    使用SSI(Server Side Include)的html文件扩展名,SSI(Server Side Include),通常称为"服务器端嵌入"或者叫"服务器端包含",是一种类似于ASP的基于服务器的网页制作技术。默认扩展名是 .stm、.shtm 和 .shtml。
    什么是SSI?
    SSI是英文Server Side Includes的缩写,翻译成中文就是服务器端包含的意思。从技术角度上说,SSI就是在HTML文件中,可以通过注释行调用的命令或指针。SSI具有强大的功能,只要使用一条简单的SSI命令就可以实现整个网站的内容更新,时间和日期的动态显示,以及执行shell和CGI脚本程序等复杂的功能。网站维护常常碰到的一个问题是,网站的结构已经固定,却为了更新一点内容而不得不重做一大批网页。SSI提供了一种简单、有效的方法来解决这一问题,它将一个网站的基本结构放在几个简单的HTML文件中(模板),以后我们要做的只是将文本传到服务器,让程序按照模板自动生成网页,从而使管理大型网站变得容易

    如何配置Apache支持SSI?
    Apache默认是不支持SSI的,需要我们更改httpd.conf来进行配置。我这里以windows平台的Apache 2.0.x为例,打开conf目录下的httpd.conf文件,搜索“AddType text/html .shtml”,找到:

    # AddType text/html .shtml
    # AddOutputFilter INCLUDES .shtml
    把这两行前面的#去掉 。

    然后搜索“Options Indexes FollowSymLinks”
    在搜索到的那一行后面添加“ Includes”
    即将该行改变为 Options Indexes FollowSymLinks Includes
    熟悉apache manual的可能会觉得比较容易。
    保存httpd.conf,重起apache即可
    到此我们就完成了对Apache SSI的设置。

    验证SSI配置成功
    在服务器目录上新建文件ssitest.shtml
    文件内容为
    <!--#echo var="DATE_LOCAL" -->
    echo元素仅仅是反馈一个变量的值。标准变量有许多,其中包含对CGI程序有效的所有的环境变量。另外,你也可以用set元素定义你的专用变量。
    打开得到如下内容
    Tuesday, 26-Aug-2008 10:25:53 中国标准时间
    表示配置SSI成功,如果没有类似输出,请检查APACHE版本或者配置是否正确

    另外的例子:
    如果要包含一个标准页脚,假设页脚内容如下,命名为footer.html
    <div style="border:1px solid #333;background:lightyellow;padding:10px;font-size:12px">
    Copyright rabbitlxb,All rights reserved.
    </div>
    在ssitest.shtml文件中使用以下语句
    <!--#include virtual="footer.html" -->
    显示结果如下图
    如何使你的Apache服务器支持SSI
    可以看到,footer.html的内容被引入到ssitest.html中了


    --------------------------------------------------------------------------------------------
    下面的附应该是很多跟我一样做PHP程序的人比较关心的,有兴趣可以看看,当然,你遇到了问题也可以很简单的自己解决,不是什么难题
    --------------------------------------------------------------------------------------------
    附:
    CSDN上有人问能不能吧SSI指令跟PHP放在同一个指令下执行,回答不可以,但我觉得应该可以,因为APACHE根据文件后缀名来确定执行何种脚本,如配置文件httpd.conf中有这样一段:、
    AddType application/x-httpd-php .php
    制定若文件后缀为PHP时即执行其中的php脚本
    因此,我们可以增加这一句
    AddType application/x-httpd-php .shtml
    让apache知道shtml后缀的也执行其中的PHP脚本,这样因为上面的配置中已经告诉APACHE以shtml后缀的文件要执行ssi指令,再加上这一个配置,重启APACHE,以shtml结尾的文件就能够同时执行ssi和PHP指令,这样,接下来我们要做的就是把SSI和php指令写到同一个文件,之后将文件后缀指定为shtml就万事OK啦


    最后在实际项目中发现按照上述配置volt模版引入.shtml文件还是不行显示头部和底部:
    最后改成:
    AddType text/html .shtml
    AddOutputFilter INCLUDES .php
    </IfModule>

    这个就行,主要下面是.php

     

     

    如何使你的Apache服务器支持SSI

     (2008-08-26 10:14:00)
    标签: 

    杂谈

     
    什么是shtml? 
      使用SSI(Server Side Include)的html文件扩展名,SSI(Server Side Include),通常称为"服务器端嵌入"或者叫"服务器端包含",是一种类似于ASP的基于服务器的网页制作技术。默认扩展名是 .stm、.shtm 和 .shtml。 
    什么是SSI? 
      SSI是英文Server Side Includes的缩写,翻译成中文就是服务器端包含的意思。从技术角度上说,SSI就是在HTML文件中,可以通过注释行调用的命令或指针。SSI具有强大的功能,只要使用一条简单的SSI命令就可以实现整个网站的内容更新,时间和日期的动态显示,以及执行shell和CGI脚本程序等复杂的功能。网站维护常常碰到的一个问题是,网站的结构已经固定,却为了更新一点内容而不得不重做一大批网页。SSI提供了一种简单、有效的方法来解决这一问题,它将一个网站的基本结构放在几个简单的HTML文件中(模板),以后我们要做的只是将文本传到服务器,让程序按照模板自动生成网页,从而使管理大型网站变得容易 

    如何配置Apache支持SSI? 
    Apache默认是不支持SSI的,需要我们更改httpd.conf来进行配置。我这里以windows平台的Apache 2.0.x为例,打开conf目录下的httpd.conf文件,搜索“AddType text/html .shtml”,找到: 

      # AddType text/html .shtml 
      # AddOutputFilter INCLUDES .shtml 
      把这两行前面的#去掉 。 

      然后搜索“Options Indexes FollowSymLinks” 
      在搜索到的那一行后面添加“ Includes” 
      即将该行改变为 Options Indexes FollowSymLinks Includes 
      熟悉apache manual的可能会觉得比较容易。 
      保存httpd.conf,重起apache即可 
      到此我们就完成了对Apache SSI的设置。 

    验证SSI配置成功 
    在服务器目录上新建文件ssitest.shtml 
    文件内容为 
    <!--#echo var="DATE_LOCAL" --> 
    echo元素仅仅是反馈一个变量的值。标准变量有许多,其中包含对CGI程序有效的所有的环境变量。另外,你也可以用set元素定义你的专用变量。 
    打开得到如下内容 
    Tuesday, 26-Aug-2008 10:25:53 中国标准时间 
    表示配置SSI成功,如果没有类似输出,请检查APACHE版本或者配置是否正确 

    另外的例子: 
    如果要包含一个标准页脚,假设页脚内容如下,命名为footer.html 
    <div style="border:1px solid #333;background:lightyellow;padding:10px;font-size:12px"> 
    Copyright rabbitlxb,All rights reserved. 
    </div> 
    在ssitest.shtml文件中使用以下语句 
    <!--#include virtual="footer.html" --> 
    显示结果如下图 
    如何使你的Apache服务器支持SSI 
    可以看到,footer.html的内容被引入到ssitest.html中了 
     
     
    --------------------------------------------------------------------------------------------
    下面的附应该是很多跟我一样做PHP程序的人比较关心的,有兴趣可以看看,当然,你遇到了问题也可以很简单的自己解决,不是什么难题
    --------------------------------------------------------------------------------------------
    附:
    CSDN上有人问能不能吧SSI指令跟PHP放在同一个指令下执行,回答不可以,但我觉得应该可以,因为APACHE根据文件后缀名来确定执行何种脚本,如配置文件httpd.conf中有这样一段:、
    AddType application/x-httpd-php .php
    制定若文件后缀为PHP时即执行其中的php脚本
    因此,我们可以增加这一句
    AddType application/x-httpd-php .shtml
    让apache知道shtml后缀的也执行其中的PHP脚本,这样因为上面的配置中已经告诉APACHE以shtml后缀的文件要执行ssi指令,再加上这一个配置,重启APACHE,以shtml结尾的文件就能够同时执行ssi和PHP指令,这样,接下来我们要做的就是把SSI和php指令写到同一个文件,之后将文件后缀指定为shtml就万事OK啦
     
     
    最后在实际项目中发现按照上述配置volt模版引入.shtml文件还是不行显示头部和底部:
    最后改成:

    AddType text/html .shtml
    AddOutputFilter INCLUDES .php
    </IfModule>

    这个就行,主要下面是.php


     
  • 相关阅读:
    实现只有0,1,2三种元素的乱序数组的排序
    请说明Request和Session的生命周期
    使用Enumeration和Iterator遍历集合类
    hive中分组取前N个值的实现
    世界知名网站的技术实现(转)
    蚂蚁变大象:浅谈常规网站是如何从小变大的(转)
    Hadoop管理员的十个最佳实践(转)
    internet笔记
    Instagram 架构分析笔记(转)
    Apache Pig入门 –介绍/基本架构/与Hive对比(转)
  • 原文地址:https://www.cnblogs.com/sengling/p/5001280.html
Copyright © 2011-2022 走看看