2014-04-07 09:52:01
来 源
kejihao
Linux Apache配置
本文介绍Apache和Nginx服务器中配置服务器端包含(SSI)的方法,希望对于初学Nginx服务器相关的朋友有帮助,更多Nginx安装、配置、报错处理等资源请本站内搜索。。
一、Apache 配置SSI功能

修改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指令嵌入进去,以后更新栏目内容和栏目附加发布页就可以了,而首页根本不用随时刷新了!

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。