方法一:下面是详细的设置apache支持shtml的设置步骤
开启includes模块运行shtml
0。开启php环境安装目录 (我的为D:\wamp\Apache2\conf下) 的httpd.conf 文件中的(大概408-409行处):
1。 AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
2。(F:/shz 为运行文件存放的地方)
DocumentRoot "F:/shz" (大概150处)
<Directory "F:/shz"> (大概178处)
3。在Options Indexes FollowSymLinks 后面添加 +Includes
如:Options Indexes FollowSymLinks +Includes (大概197处):
需重启apache);
方法二:如何让apache支持.shtml 让apache支持include标签
打开conf目录下的httpd.conf文件。搜索“AddType text/html .shtml”。搜索结果:
修改为:
复制代码 代码如下:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
Options Indexes FollowSymLinks includes
保存httpd.conf。重起apache即可。
到此我们就完成了对Apache SSI的设置.
<!--#include file="index.php"-->
个人觉得SSI的好处是静态化中局部动态化的处理比较方便。比如新闻中的留言
以下是详细的说明介绍
因为批量修改起来很不方面。所以我们总希望能将页脚与页尾include到html文件中来。html属于客户端解析形的格式化语言。自4.0后几乎很难再有大的变动(毕竟很多浏览器只按4.0标准来解析)。所以至今也没include这样的概念。而html的框架(frame与iframe)虽然可以用来包含首页与页脚文件。但使用frame与iframe的概念与动态页面(asp,jsp,php等)的include那样不同。frame与iframe的主体页面与被包括的页的不是一个页面。而通过include的方式调用的页面主体页面与被包括的页面仍然是一个页面。这样页面再加载的时就没速度的影响。更不会有多个窗口这样的问题。当然frame与iframe的作用还是挺大的。只是这与include这样包括页面进来的概念不同。
除frame与iframe之外。常用的调用文件的方法还有采用js。这与include概念倒是很接近。但可以需要客户端js的支持。而且修改也不很方面。因为被包括的js是通过document.write来输出html代码。这样虽然能达到效果。可js毕竟执行客户端动态效果更好。比如现在较流行的AJAX。所以无论是frame/iframe还是js都与include不太一样(倒是Dreamweaver中的library与include很像。可惜只能用在Dreamweaver中)。而我们有时页面有很多静态页面。内容不是动态的且没有规律可循。更不好做到数据库里去。如新浪的新闻之类的。这时我们可以采用shtml的方式来做这些页面。
那什么是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(如何在windows以及linuc下安装apache请参见另两篇文章)默认是不支持SSI的。需要我们更改httpd.conf来进行配置。我这里以windows平台的Apache 2.0.x为例(在linux平台下与之相同)。打开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命令:
1。Config命令
Config命令主要用于修改SSI的默认设置。其中:
Errmsg:设置默认错误信息。为了能够正常的返回用户设定的错误信息。在HTML文件中Errmsg参数必须被放置在其它SSI命令的前面。否则客户端只能显示默认的错误信息。而不是由用户设定的自定义信息。
<!--#config errmsg="Error! Please email webmaster@mydomain.com -->
Timefmt:定义日期和时间的使用格式。Timefmt参数必须在echo命令之前使用。
<!--#config timefmt="%A, %B %d, %Y"-->
<!--#echo var="LAST_MODIFIED" -->
显示结果为:Wednesday, April 12, 2000
Sizefmt:决定文件大小是以字节。千字节还是兆字节为单位表示。如果以字节为单位。参数值为"bytes";对于千字节和兆字节可以使用缩写形式。同样。sizefmt参数必须放在fsize命令的前面才能使用。
<!--#config sizefmt="bytes" -->
<!--#fsize file="index.html" -->
2。Include命令
Include命令可以把其它文档中的文字或图片插入到当前被解析的文档中。这是整个SSI的关键所在。通过Include命令只需要改动一个文件就可以瞬间更新整个站点!
Include命令具有两个不同的参数:
Virtual:给出到服务器端某个文档的虚拟路径。例如:<!--#include virtual="/includes/header.html" -->
File:给出到当前目录的相对路径。其中不能使用"../"。也不能使用绝对路径。例如:<!--#include file="header.html" -->
这就要求每一个目录中都包含一个header.html文件。
本文地址:https://gpu.xuandashi.com/40980.html,转载请说明来源于:渲大师
声明:本站部分内容来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场!