当前位置 主页 > 服务器问题 > Linux/apache问题 >

Apache下开启SSI配置使html支持include包含的方法

栏目:Linux/apache问题 时间:2018-11-02 13:56

这篇文章主要介绍了Apache下开启SSI配置使html支持include包含的方法,需要的朋友可以参考下

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

举个简单的例子,比如有如下的 html 文件(命名为 index.html):

<input type='text' /><input type='button' value='press' />

一个简单的文本框和按钮,我现在想把按钮部分的 html 写在另一个 .html 的文件中(比如说叫 btn.html)然后引入到 index.html 中,要怎么做呢?

1、加载 ssi 模块

首先要加载 ssi 模块。打开 apache 的配置文件 httpd.conf,这个文件应该都已经很熟悉了,前面的文章中多次提到。找到这么一行 LoadModule ssl_module modules/mod_ssl.so,把前面的注释(#)去掉。

2016.01.11 更:

经本地测试,此步骤并不是必须的,多谢 whuper 指出。

2、添加需要的文件类型

同样在 httpd.conf 文件下找到如下两行代码:

AddType text/html .shtml AddOutputFilter INCLUDES .shtml

有注释的话一样去掉注释。因为使用 ssi 技术的默认文件名为 .shtml,所以我们需要在配置文件中对 .shtml 后缀名进行设置,并按自己的需求设置需要对 ssi 技术进行解析的文件类型设置。

比如这里我要用 .html 的文件进行操作,所以可以在上面两行代码末添加,比如这样:

AddType text/html .shtml .htmlAddOutputFilter INCLUDES .shtml .html

3、添加 INCLUDES
还是在 httpd.conf 文件中,找到这样一行 Options Indexes FollowSymLinks,在后面添加 INCLUDES,变成这样:

Options Indexes FollowSymLinks INCLUDES

需要注意的是,ssi 可以利用 shell 来执行命令,因此这个功能是有危险的,它会执行任何包含在 exec 标记中的命令,如果你的用户有权限修改你的网页内容,建议把该功能关闭。当然你还可以加上IncludesNOEXEC 参数,来关闭 exec 功能,同时又保留 SSI 。此时改为: Options Indexes FollowSymLinks INCLUDES IncludesNOEXEC

4、重启 apache

最后一点,重启 apache 千万不能忘记,有些童鞋刚开始配置 apache 的时候,经常会说怎么不起作用啊,很多时候就是忘记重启了。

5、实践
通过这样的配置我们就能在 html 页面中引入 html 文件了,比如这样:

<input type='text' /><!--#include virtual="btn.html" -->

也可以用 file 参数:

<input type='text' /><!--#include file="btn.html"-->

有什么区别呢...

include 元素能按 file 属性或 virtual 属性判断应该包含的文件。file 属性是一个相对于当前目录的文件路径,即不能是一个绝对路径(以 "/" 开头)或包含 "../" 的路径,也就是说被包含文件可以在同一级目录或其子目录中,但不能在上一级目录中。virtual 属性可能更有用,它是一个相对于被提供的文档的URL ,可以以 "/" 开头,但必须与被提供的文档位于同一服务器上,virtual 文件名是 Web 站点上的虚拟目录的完整路径。

通俗地说,virtual 相当于绝对路径(从服务器根目录出发),而 file 相当于相对路径(而且文件还不能在上级目录)。所以一般用 virtual 就 ok 了。

缩小 缩小 缩小 缩小
IIS7整站下载工具 IIS7批量查询排名 IIS7远程桌面连接工具 iis7-iis网站批量管理 iis7批量替换工具 IIS7服务器专用下载工具 IIS7日志分析工具 IIS7批量PING,服务器批量添加网卡IP小工具 IIS7远程同步备份工具
IIS7网站监控 站群批量SEO查询 批量获取排名域名 批量关键词排名查询 模拟各种蜘蛛 批量友情链接监测 批量检测死链 搜索引擎大全 批量查询外链
批量查询网站标题 批量查询KeyWords 批量查询描述 批量查询网站IP 批量百度收录查询 批量查询百度日收录 批量查询百度周收录 批量查询百度月收录 批量查询360总收录 批量查询360日收录 批量查询网站年龄 批量查询360PC权重 批量查询爱站移动权重 批量查询站长移动权重 批量查询360移动权重 批量查询神马权重 批量查询谷歌PR 批量查询搜狗PR 批量查询百度反链 批量查询爱站首页反链 批量查询爱站内页反链 批量查询百度快照 批量查询搜狗快照 批量icp备案查询 批量网站ip地址查询 批量查询导出链接 批量查询百度V认证 批量查询百度安全 批量查询站长PC权重 批量查询爱站PC权重 批量查询搜狗总收录 站长资源大全 IIS7-cms大全 IIS7站群大全 IIS7虚拟空间大全 IIS7服务器大全 IIS7-VPS大全 服务器代购 站群专用 美国站群服务器 香港站群服务器 特供站群vps 亚洲服务器 菲律宾HS 韩国首尔 香港PCCW 香港沙田电信 香港PowerLine 日本多机房 新加坡多机房 韩国大带宽 香港新世界 香港Pangnet 台湾 美国服务器 加州RS 美国vps母鸡租用 洛杉矶MC 洛杉矶C3 特价促销区 洛杉矶NS 洛杉矶Cera高防 洛杉矶HS高防 SK高防 洛杉矶WX 加州RH 芝加哥AT VPS云主机 香港沙田电信 韩国首尔 香港Pangnet 新加坡SG 香港PL 洛杉矶SK 抗攻击 洛杉矶C3 日本大阪 洛杉矶Cera 抗攻击 洛杉矶MC 纽约 SSD 抗攻击 大容量备份VPS 国庆大促 俄罗斯