静态html文件包含html的实现

当前位置 : 首页 > 网页制作 > CSS > 静态html文件包含html的实现

静态html文件包含html的实现

来源: 作者: 时间:2016-01-20 09:22
对于静态网站有公共头尾需要包含,又不想用动态网页编写的。那该如何技术实现呢?方法有三:1、IFrame, 这个可能是大家最熟悉的加上它的一些属性可以实现一些透明,无滚动条等具体

 

对于静态网站有公共头尾需要包含,又不想用动态网页编写的。那该如何技术实现呢?

方法有三:
1、IFrame, 这个可能是大家最熟悉的<iframe height="30" marginheight="0" marginwidth="0" name="neepage" src="import.htm" width="100%"></iframe>加上它的一些属性可以实现一些透明,无滚动条等具体的效果。以及他的兄弟:Frameset 等。
2、JS实现,通过加载js的形式,把html加载进来,一般广告采取这种形式。
3、shtml。使用SSI(Server Side Include)的html文件扩展名,SSI(Server Side Include),通常称为服务器端嵌入或者叫服务器端包含,是一种类似于ASP的基于服务器的网页制作技术。默认扩展名是 .stm、.shtm 和 .shtml。

相对前两者,shtml是最佳选择了。shtml可以包含指定文件到文档中如同中的include功能类似。但是如果需要用到s,就需要服务器支持SSI。

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

分两个web服务器来讲吧:
一:nginx
Nginx本身已经支持了SSI,但默认是不开启的,需要手动开启。
打开Nginx配置文件nginx.conf,在http里加入以下三句话。


  1. ssi on;
  2. ssi_silent_errors on;
  3. ssi_types text/shtml;

ps:这里文件类型可以改成其他的,比如让htm也支持ssi,那么把text/shtml改成text/htm就行了,但是这样的话,由于服务器里htm的文件较多,也不一定全都用ssi引入其他页面,会给nginx造成一些不必要的消耗,所以不建议这么做。

如果需要添加默认首页,可以在nginx.conf里找到Index选项,改成

  1. Index index.shtml index.html index.htm

保存重启nginx即可。

二:apache
Apache默认是不支持SSI的,需要我们更改httpd.conf来进行配置。


  1. #AddType text/html .shtml
  2. #AddOutputFilter INCLUDES .shtml

把这两行前面的#去掉 。
接着搜索Options Indexes FollowSymLinks
修改为:Options Indexes FollowSymLinks Includes
保存httpd.conf,重起apache即可

加载只需要用到include,用法:
Virtual:给出到服务器端某个文档的虚拟路径。例如:
File:给出到当前目录的相对路径,其中不能使用../,也不能使用绝对路径。例如:

Tag:
网友评论

<