有的时候,我们的页面有公共的导航栏navbar,公共的脚注footer,那么我们就想把这些公共部分独立成一个html文件,在要引用的地方像引用js,css一样,给包含进来。

Apache下开启SSI配置,使html支持include包含,就可以达到该功能。

一共4个操作步骤,下面介绍具体的操作:

1、加载SSI模块

找到Apache的安装路径,在Apache文件夹下找到conf文件夹,在该文件夹下有个文件httpd.conf,用编辑器打开它。找到这行:LoadModule ssl_module modules/mod_ssl.so,将前面的注释(#)去掉。如下图所示:

2、添加需要的文件类型

在httpd.conf文件中找到以下两行代码:

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

有注释的话去掉注释(#)。因为使用SSI技术的默认文件名是.shtml,所以我们需要在配置文件中添加我们所需要解析的文件类型,如下面所示:

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

3、添加INCLUDES

在httpd.conf文件中找到这一行:

Options +Indexes +FollowSymLinks +ExecCGI

在后面添加INCLUDES,如下面所示:

Options +Indexes +FollowSymLinks +ExecCGI  +INCLUDES

4、重启Apache(这步很重要)

好了,完成以上配置,我们就可以使用include标签在html页面的任何位置添加我们想要包含的html文件了。

下面举个例子来说明一下如何使用include标签

1、先说说整个文件的分配路径

把所有的代码放到test文件夹里面,即在test文件夹下包括两个文件夹include和ss,和一个html文件btn.html,如下图所示:

include文件夹下包括一个html文件p.html,如下图所示:

ss文件夹下包括一个html文件input.html,如下图所示:

2、文件的引用:在input.html中使用标签include引入文件p.html;在p.html中使用include标签引入btn.html;使用虚拟路径virtual引入文件。

3、input.html的内容如下:

  1.  
    <!DOCTYPE html>
  2.  
    <html>
  3.  
    <head>
  4.  
    <meta charset="utf-8">
  5.  
    <title>test</title>
  6.  
    </head>
  7.  
    <body>
  8.  
    <p>输入框</p>
  9.  
    <input placeholder="hello" />
  10.  
    <p>hhhhhhh</p>
  11.  
    <p>dfsdfdfi</p>
  12.  
    <!--#include virtual='../include/p.html'-->
  13.  
    </body>
  14.  
    </html>

4、p.html内容如下

  1.  
    <p>mmmmmmmm</p>
  2.  
    <!--#include virtual="../btn.html"-->

5、btn.html内容如下

<button>点击一下</button>

6、显示的效果如下:

注意1:我们引入的文件的格式如下:

<!--#include virtual='../include/p.html'-->

上面的路径一定要正确,如果改成:

<!--#include virtual='p.html'-->

就会报错:an error occurred while processing this directive

注意2:我们在引用的时候。标签<!---->不能写成这样<!--  -->,即不能有空格,如下面这种写法就是错的:

<!-- #include virtual='../include/p.html' -->

这种写法,在浏览器中没有报错,也没有显示想要实现的效果。

Apache下开启SSI配置,使html支持include包含的更多相关文章

  1. Apache下开启SSI配置使html支持include包含

    写页面的同学通常会遇到这样的烦恼,就是页面上的 html 标签越来越多的时候,寻找指定的部分就会很困难,那么能不能像 javascript 一样写在不同的文件中引入呢?答案是有的,apache 能做到 ...

  2. 开启SSI配置使shtml支持include公用的页头页脚

    编写编写项目众多静态文件时,能像php等开发语言一样使用include将页面公有的header/footer/sidebar作为公用.独立.单一的文件引入到各页面上,这样修改这些页面公用部分时就能单独 ...

  3. 在Apache下开启SSI配置

    开启SSI:html.shtml页面include网页文件 使用SSI(Server Side Include)的html文件扩展名,SSI(Server Side Include),通常称为&quo ...

  4. 在Apache下开启SSI配置支持include shtml html和快速配置服务器

    作为前端开发,使用Apache快速搭建服务器极为方便. 1.找到apach安装目录,找到conf目录下 的httpd.conf 使用SSI(Server Side Include)的html文件扩展名 ...

  5. Atom 编辑器安装 linter-eslint 插件,并配置使其支持 vue 文件中的 js 格式校验

    安装方式有如下几种. 1.最常用的安装方式. # 进入atom插件文件夹 cd ~/.atom/packages/ # git clone 插件源文件 git clone https://github ...

  6. nginx配置 yii2 URL重写规则 SSI配置使shtml

    location / { // 加上红色部分 重写url try_files $uri $uri/ /index.php?$args; if (!-e $request_filename){ rewr ...

  7. apache下虚拟域名配置

    在我们开发中通过虚拟域名来访问一个指定的项目确实很方便,接下来教大家如何通过手动的方式去配置虚拟域名(已apache服务器为例) 一.首页我们得找到host文件.windows下这个文件在c盘中WIN ...

  8. nginx配置使其支持thinkphp的pathinfo模式

    #user root;#user nobody;worker_processes 1; #error_log logs/error.log;#error_log logs/error.log noti ...

  9. linux apache下虚拟主机配置方法

    假设VPS的IP是58.130.17.168,有两个域名指向该IP,分别是domain1.com, domain2.com, 修改/etc/httpd/conf/httpd.conf,在文件的最后加入 ...

随机推荐

  1. CSS Sprites(CSS精灵) 的优缺点

    CSS Sprites 的优点:     1.减少图片的字节     2.减少了网页的http请求,从而大大的提高了页面的性能     3.解决了网页设计师在图片命名上的困扰,只需对一张集合的图片上命 ...

  2. Mybatis中同时使用shardbatis和pagehelper插件冲突问题

    在一次使用mybatis的插件,分表shardbatis+分页pagehelper共同使用的时候,会抛出以下异常: java.lang.NoSuchMethodError: net.sf.jsqlpa ...

  3. cmd下命令提示符下杀进程主要有三种方法

    https://blog.csdn.net/sunboy2718/article/details/30056787 1.用taskkill命令 1.taskkill /im 进程名称 示例:用task ...

  4. 【模板】 全排列 && 有重复元素的全排列

    全排列 #include<bits/stdc++.h> using namespace std; ]; void print (int n){ ;i<=n;i++) cout< ...

  5. java性能监控工具jstat

    jstat Monitors Java Virtual Machine (JVM) statistics. This command is experimental and unsupported. ...

  6. Netty面试

    声明:此文章非本人所 原创,是别人分享所得,如有知道原作者是谁可以联系本人,如有转载请加上此段话  1.BIO.NIO 和 AIO 的区别? BIO:一个连接一个线程,客户端有连接请求时服务器端就需要 ...

  7. 深入理解MyBatis的原理(三):配置文件用法(续)

    前言:前文讲解了 MyBatis 的配置文件一部分用法,本文将继续讲解 MyBatis 的配置文件的用法. 目录 1.typeHandler 类型处理器 2.ObjectFactory 3.插件 4. ...

  8. 查看Windows日志

    之前,在Windows服务管理器中启动WCF服务时,出现“本地计算机上的XXX服务启动后停止.某些服务在未由其它服务或程序使用时将自动停止.”问题,最后通过查看Windows日志中的详细信息才得以解决 ...

  9. Spring boot 入门四:spring boot 整合mybatis 实现CRUD操作

    开发环境延续上一节的开发环境这里不再做介绍 添加mybatis依赖 <dependency> <groupId>org.mybatis.spring.boot</grou ...

  10. Yii 时间戳格式化显示的问题

    这个控件是CJuiDatePicker控件的扩展,支持时分秒. 下载地址:http://www.yiiframework.com/extension/timepicker/ 这个控件用在view里的_ ...