修改Apache配置文件httpd.conf
1. 确认加载include.so模块,将注释去掉:
LoadModule include_module libexec/apache2/mod_include.so
2. AddType部分去掉这两段注释:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
3. Directory目录权限里面找到
Options Indexes FollowSymLinks
增加Includes修改为:
Options Indexes FollowSymLinks Includes
4. 重新启动Apache,测试。
二、Nginx 配置SSI功能
在 http 段中加入下面几句即可:
ssi on; #开启ssi
ssi_silent_errors off; #SSI发生错误时不输出错误信息
ssi_types text/shtml; #SSI处理的MIME类型,默认是text/html
三、详细
机制:
SSI 机制是动态包含,而不是静态生成,是由web服务器比如apache在收到用户的请求时,如果解析到其中有SSI包含指令时,自动取出被包含的页面嵌入到 被请求的页面中一起当做一个整体的页面发送给用户,对用户来说根本不知道服务器做了啥,只是知道得到一个完整的页面。 好处:
由 SSI工作机制我们知道,包含动作是在每次用户请求页面时发生,所以如果被包含的页面内容有变化,也能实时的反应出来,正因为如此,就很容易用来实现静态 页面的动态嵌入,我们就可以用来实现网站中全站公共区域,或是出现很多的重复区域内容发布成一个独立静态页面,然后在需要的地方用SSI指令包含进去,比 如象全站的头部和尾部,全站最新新闻,最热排行榜等等。此技术广泛被大多门户网站使用,如163,sina等。
最热内容实现方法:
首先配置好SSI环境(参考其它SSI配置教程)
然后建立一个独立的结点
新建一个附加发布或文章页,绑定调用最热内容的小模板,同时指定一个路径和文件名
然后发布成一个静态html页面/hot.html
然后在网站首页留出来的放最热内容的框中写以下SSI指令
<!--#include virtual="/hot.html" --> 注意这里,前后都是2个- (减号)
把首页发布的扩展名改为index.shtml(服务器配置中目录默认文档页面也要加上shtml类型)
这样用/index.shtml就可以看到效果了,以后每次增加完一堆文章后,只需要更新一下这个hot.html就可以了,首页都不用更新
这种方法甚至可以把首页中的栏目列表区块都做成这种形式,利用每个结点的附加发布功能就可以在发布栏目首页的同时,再多附加发布一个此结点的内容列表的小页面,然后在首页上用SSI指令嵌入进去,以后更新栏目内容和栏目附加发布页就可以了,而首页根本不用随时刷新了!