apache SHTML网页SSI使用详解_Linux

方法一:下面是详细的设置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文件。

时间: 2024-09-20 10:54:08

apache SHTML网页SSI使用详解_Linux的相关文章

shtml网页SSI使用详解

网页|详解 1.Config命令 Config命令主要用于修改SSI的默认设置.其中: Errmsg:设置默认错误信息.为了能够正常的返回用户设定的错误信息,在HTML文件中Errmsg参数必须被放置在其它SSI命令的前面,否则客户端只能显示默认的错误信息,而不是由用户设定的自定义信息. <!--#config errmsg="Error! Please email webmaster@mydomain.com -->  Timefmt:定义日期和时间的使用格式.Timefmt参数必

Apache 的 httpd.conf 中文详解_Linux

ServerRoot "/usr/local" ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此如果设置文件中指定的文件或目录是相对路径,那么真实路径就位于这个ServerR oot定义的路径之下. ScoreBoardFile /var/run/httpd.scoreboard httpd使用ScoreBoardFile来维护进程的内部数据,因此通常不需要改变这个参数,除非管理员想在一台计算机上运行几个 Apac

apache性能测试工具ab使用详解_Linux

网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环.只有让服务器处在高压情况下,才能真正体现出软件.硬件等各种设置不当所暴露出的问题. 性能测试工具目前最常见的有以下几种:ab.http_load.webbench.siege.今天我们专门来介绍ab. ab是apache自带的压力测试工具.ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试.比如nginx.tomcat.IIS等. 下面我们开始介绍有关ab命令的使用: 1.ab的原理

服务器-请教Apache同时并发原理的详解

问题描述 请教Apache同时并发原理的详解 想问问各位大虾: 本人刚学服务器,想了解一下apache的同时并发原理. 个人理解如下 比如说服务器是每1s接受一次访问,假定一个request的处理时间是1ms,那么在这一秒里面最大并发是1000. 如果超过1000的访问就会等待,导致request处理时间延长. 以上是个人理解,如有错误烦请指出,希望能听听各位的意见. 谢谢 解决方案 如果服务器有1个cpu,那么是这样的.但是如果有多个,并发不能这么算.apache会开多个线程,并行处理这些请求

Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解_php实例

选择在PhpStorm集成apache服务器,下面是我自己的亲测的步骤. 1.如何修改apache默认端口 xampp apache默认的http访问端口是80 修改完成后在xampp中重启apache. 2.配置流程 打开Settings / Preferences 找到 Build, Execution, Deployment 选项,点击 Deployment 添加如下: 因为我们修改了默认端口80,所以这里一定要指明端口号.目录是/Applications/XAMPP/xamppfiles

Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解

选择在PhpStorm集成apache服务器,下面是我自己的亲测的步骤. 1.如何修改apache默认端口 xampp apache默认的http访问端口是80 修改完成后在xampp中重启apache. 2.配置流程 打开Settings / Preferences 找到 Build, Execution, Deployment 选项,点击 Deployment 添加如下: 因为我们修改了默认端口80,所以这里一定要指明端口号.目录是/Applications/XAMPP/xamppfiles

Apache防DDOS模块mod_evasive安装和配置方法详解_Linux

一.mod_evasive 介绍mod_evasive 是Apache(httpd)服务器的防DDOS的一个模块.对于WEB服务器来说,是目前比较好的一个防护DDOS攻击的扩展模块.虽然并不能完全防御DDOS攻击,但在一定条件下,还是起到缓服Apache(httpd)服务器的压力.如配合iptables.硬件防火墙等防火墙设备配合使用,可能有更好的效果.mod_evasive 的官方地址: http://www.zdziarski.com/二.mod_evasive 工作原理Apache模块mo

CentOS 7 x64下Apache+MySQL(Mariadb)+PHP56的安装教程详解_Linux

每次搭建新服务器,都要来来回回把这些包再装一下,来来回回搞了不下20遍了吧,原来都是凭经验,配置过程中重复入坑是难免的,故写此文做个备忘.虽然有像xampp这样的集成包,但是在生产环境的Linux发行版上,还是通过包管理工具安装会放心.这次新买的服务器是CentOS 7(7.2)系统,相关配置也都以此版本为主,为方便操作,直接使用root用户配置. CentOS 7的源比较旧,自带的PHP是PHP 5.4,我们想要的是PHP 5.6,这就需要执行以下命令添加额外的remi源. rpm -ivh

apache密码生成工具htpasswd使用详解_Linux

一.htpasswd的作用与安装 htpasswd是apache的一个工具,该工具主要用于建立和更新存储用户名.密码的文本文件,主要用于对基于http用户的认证. htpasswd的安装很简单,它是随apache的安装而生成.这点与ab工具是一样的,这里就不详细说明了 如果apache是通过RPM的yum方式进行安装的话,该命令存放在/usr/bin/目录下,如下: which htpasswd /usr/bin/htpasswd 如果apache是源码方式安装的话,该命令存放在apache安装