配置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" --> 
显示结果如下图 
 
可以看到,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

Windows 的Apache支持SSI配置的更多相关文章

  1. Windows下Apache+mod_python+Django配置

    Windows下Apache+mod_python+Django配置 Apache 首先要安装Apache,我安装的版本是2.2.*: Python python肯定是要安装的,我安装的版本是2.5的 ...

  2. windows下apache+https环境配置

    windows下apache+https环境配置 转 https://www.cnblogs.com/sandaizi/p/7519370.html 1.修改配置文件conf/httpd.conf,去 ...

  3. apache和nginx支持SSI配置

    今天发现了一种新的语言格式:.shtml 一. 前言 SSI是一种类似于ASP的基于服务器的网页制作技术.将内容发送到浏览器之前,可以使用"服务器端包含 (SSI)"指令将文本.图 ...

  4. Windows操作系统Apache服务器下配置PHP

    在Apache web服务器上发布PHP项目之前,需要进行相应的配置,服务器才能解析php文本,正常显示php动态页面内容.在进行php配置之前默认已经在Windows系统下安装好了Apache服务器 ...

  5. Windows下apache php wordpress配置

    2. Use notepad to open httpd.conf config file. Make use the line "LoadModule rewrite_module mod ...

  6. Apache支持.htaccess配置方法

    打开httpd.conf文件用文本编辑器打开后,查找  代码如下 复制代码 Options FollowSymLinks AllowOverride None 改为: Options FollowSy ...

  7. windows下apache+php+mysql配置

    Apache 2.4.10(文件:httpd-2.4.10-win64-VC11.zip) php 5.6.26 (文件:php-5.6.25-Win32-VC11-x64.zip) mysql 5. ...

  8. windows下面 apache 虚拟主机配置

    <VirtualHost > ServerAdmin www.test2.com DocumentRoot "D:/PHP/Apache/htdocs/testSite2&quo ...

  9. Linux下apache支持PHP配置

    https://www.cnblogs.com/qiuxiao/p/6815350.html https://www.cnblogs.com/polestar/p/6086552.html

随机推荐

  1. 厉害了!阿里安全图灵实验室在ICDAR2017 MLT竞赛刷新世界最好成绩

    近日,阿里安全图灵实验室(Alibaba Turing Lab)的ATL Cangjie OCR算法在ICDAR2017的MLT(Competition on Multi-lingual scene ...

  2. ES6学习总结二(数组的四个方法,字符串)

    数组 1 map 映射 一个对一个 如:分数数组[34,56,78,99]映射为[不及格,不及格,及格,及格]; 等级数组[23,56,89]映射为 [ {name:'lmx',level:1,rol ...

  3. OOP面向对象程序设计

    1.对象:程序中描述现实中一个物体的属性和功能的结构 面向对象的程序设计,即为定义相应对象的属性,实现相应的功能.一个对象专门代表现实中的一个物体. *封装事物的属性和功能的结构. 例如 我们的手机: ...

  4. C++学习-6

    1.Auto无法区分常量变量,引用常量(顶层const被忽略了),不能识别引用变量,const和&都无法识别 Auto不能放在结构体内部 2.decltype()能识别引用,能获取常量属性,t ...

  5. Win7硬盘的AHCI模式

    1.什么是硬盘的AHCI模式? AHCI是串行ATA高级主控接口的英文缩写,它是Intel所主导的一项技术,它允许存储驱动程序启用高级SATA功能,如本机命令队列(NCQ)和热插拔.开启AHCI之后可 ...

  6. neo智能合约的生命周期

  7. 关于脱离laravel框架使用Illuminate/Validation验证器

    1.关于Illuminate/Validation验证器 Validation 类用于验证数据以及获取错误消息. github地址:github.com/illuminate/validation 文 ...

  8. thinkphp3.2-更改控制器名后找不到相应的表?报1146的错

    用tp在做着自己的小系统的时候,明明在刚才还是能好好地查到表的,在Service用了'D'方法连自己数据库的表,只是更改了自己的控制器名,却报错了... 我就纳闷了,虽然我的控制器和Service用的 ...

  9. [bzoj1601]灌水_kruskal

    灌水 bzoj-1601 题目大意:给你n块地,将两块地之间连通有代价$P_{i,j}$,单独在一块地打井需要代价$C_i$,问将所有的井都有水的代价是多少. 注释:1<=n<=300. ...

  10. 关闭系统邮件提醒:you hava a new mail(转)

    有时候,在输入某些触及到系统安全或者内核方面的命令都会提醒你: You have new mail in /var/spool/mail/root 只需要在root 用户下,不设置邮件检测即可! #e ...