温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

apache SHTML网页SSI如何使用

发布时间:2022-03-25 17:04:09 来源:亿速云 阅读:183 作者:iii 栏目:互联网科技

本文小编为大家详细介绍“apache SHTML网页SSI如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“apache SHTML网页SSI如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

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

读到这里,这篇“apache SHTML网页SSI如何使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI