静态html文件包含html的实现

更多:http://www.webyang.net/Html/web/article_139.html

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

方法有三:

1、IFrame, 这个可能是大家最熟悉的 <iframe name="neepage" marginwidth="0" marginheight="0" src="import.htm" width="100%" height="30"></iframe> 加上它的一些属性可以实现一些透明,无滚动条等具体的效果。以及他的兄弟:Frameset 等。

2、JS实现,通过加载js的形式,把html加载进来,一般广告采取这种形式。

3、shtml。使用SSI(Server Side Include)的html文件扩展名,SSI(Server Side Include),通常称为"服务器端嵌入"或者叫"服务器端包含",是一种类似于ASP的基于服务器的网页制作技术。默认扩展名是 .stm、.shtm 和 .shtml。

相对前两者,shtml是最佳选择了。shtml可以包含指定文件到文档中如同PHP中的include功能类似。但是如果需要用到shtml,就需要服务器支持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:给出到服务器端某个文档的虚拟路径。例如:<!--#include virtual="/includes/header.html" -->

File:给出到当前目录的相对路径,其中不能使用"../",也不能使用绝对路径。例如:<!--#include file="header.html" -->

时间: 2024-10-09 06:42:42

静态html文件包含html的实现的相关文章

PHP文件包含漏洞利用

PHP文件包含漏洞利用 一.PHP配置在文件包含中的运用 文件包含漏洞即 当程序员在包含文件的过程中引入了外部提交的数据参与包含的过程所产生的漏洞,这个漏洞是目前Web攻击中最利用率最高的一个漏洞,攻击者 可以轻松获取服务器的访问权限(即拿到webshell).而文件包含通常又有本地文件包含(Local File Inclusion)和远程文件包含(Remote File Inclusion)之分.allow_url_fopen和allow_url_include是决定包含属于本地文件包含(LF

Makefile学习(二)----生成静态库文件

Lunix下编译静态库文件: .o后缀文件:编译生成的中间代码文件: .a后缀文件:静态库文件,编译的时候会合到可执行程序中,文件比较大: .so后缀文件:动态库文件,只是一个指向,不会合到可执行程序中,当要调用函数库的时候才使用: 用一个简单的例子阐述下在lunix环境下生成静态库文件的过程: 一.   源码文件: so_test.h: void test_a(); void test_b(); void test_c(); test_a.c: #include "so_test.h"

查看静态库.a文件包含的内容

查看静态库.a文件包含的内容用下面的命令解压: [plain] view plain copy print? ar x libgdal.a 然后就可以查看文件了: [plain] view plain copy print? ls adler32.o           cpl_recode.o                 dted_create.o               gdalpamrasterband.o  geo_write.o      nitfimage.o        

C/C++:多个.cpp文件包含同一个.h头文件定义方法

本文解决multiple definition of `XX'的错误.[出于反爬虫的目的,你不是在http://blog.csdn.net/zhanh1218上看到的,肯定不是最新最全的.] 关于头文件的定义中,请一定加上以下代码(此为头文件保护符): <span style="font-size:14px;"><span style="font-size:12px;">#ifndef PERSON_H_ #define PERSON_H_

静态资源文件自动压缩并替换成压缩版本(大型网站优化技术)

原文:静态资源文件自动压缩并替换成压缩版本(大型网站优化技术) 这一次,我总结和分享一项大型网站优化技术,那就是在项目中自动压缩静态资源文件(css.js),并让网站自动加载压缩后的资源文件.当然,这项技术在雅虎35条前端优化建议里也有记载,但它那只是给出一个理论的方案而已,并且采用的是外部压缩工具去压缩,而在我的项目中,是直接通过自己的程序自动化去压缩所有css.js文件,然后让页面直接加载所压缩后的资源,接下来直接进入主题. 本次实验使用的是PHP脚本语言,版本是PHP5.6,是在LINUX

静态库文件和动态库文件的制作

1. 静态库文件1) 新建项目->win32->win32控制台应用程序->输入库文件名称->确定->选择静态库.2) 创建要调取的内容,比如一下:Person.h:#pragma onceclass Person{public: Person(void); ~Person(void);}; Person.cpp: #include "StdAfx.h"#include "Person.h"#include<iostream>

svn管理代码在cornerstone上无法添加.a 静态库文件

有时候.a静态库不能上传到svn的服务器  导致别人拉代码运行不了 这是因为cornerstone设置里面默认不会提交.a文件, 在上图选项栏里是cornerstone默认忽略上传的文件名后缀,在这里面吧.a删除即可,同样如果文法上传其他类型的文件可以查看一下是否后缀名也包含在这里面 参考资料: svn中添加.a 静态库文件

函数、常用函数、文件包含

没有参数没有返回值 function name(){ echo "ssssss";}name(); 有参数没有返回值 // function info($name='zhangsan',$sex='nan'){ // echo 'i am'.$name.'xingbie'.$sex; // } // info(); 有参数有返回值 // function info($name='zhangsan',$sex='nan'){ // echo 'i am'.$name.'xingbie'.

2019-11-12:Discuz3.2漏洞文件包含漏洞复现

*文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担. Discuz3.2漏洞文件包含漏洞复现,由于创建专题时未对 ,静态化名称,做任何限制引发此漏洞问题,问题出在代码中的函数check_seccode(),该函数在/source/class/helper/helper_seccheck.php中,作用是检查验证码是否正确.在后台的防灌水功能中可以设置验证码类型,对应的变量是$_G['setting']['seccodedata']['