CmsTop的ssi(Server Side Include)错误的分析和解释大全

2010-09-09 17:57:37来源:作者:

这个破ssi弄了一个多小时,先说一下官方的ssi

这个破ssi弄了一个多小时,先说一下官方的ssi

其实这个主要是用于将另一个html嵌入到当前html中,他不像iframe,他是可以把源代码生成在当前页。主要就是这个用的!

ssi用的最多的就是include,嵌入网页,其实这个功能很有用,特别是对于大数据网站,在内容页可以广泛使用ssi的include

比如内容页,相关新闻,那如果我想把相关新闻的内容实时显示为当天的相关新闻,传统的办法要全部生成html静态,那如果用shtml

只要更新shtml的内容就好了,不用重新生成内容页了,作用很大,要比内容页用js友好的多,以上部分只对于新手,高手可以飘过了!

再说官方的ssi,对于这个我犯了个错误,就是路径的问题
<!--#include virtual="/section/31.html"-->
上面这段是官方插入的, 我怎么调用都调用不出来,给我气坏了,原以为是ssi的问题,后来经过测试ssi没问题!
鼓动了半天,最后发现问题,我的cmstop不是安装根跟目录。

要知道ssi只能以/或者相对路径开头, 而/是以根目录计算的!所以在这出错了,解决办法就是把/去掉
即:<!--#include virtual="section/31.html"-->
或者在写相对路径,官方这样的只能放在根目录使用!
这样就没问题了,如果你的网站不是安装在根目录一定要注意!,因为部分站长有很多本地调试的程序,不一定会把程序放在根目录

这个问题以后肯定会有人出现的。希望这个帖子能够帮助你少走弯路,因为我就吃了螃蟹了!

还有安装ssi非常简单

找打apache下的httpd.conf

查找 
    #AddType text/html .shtml
    #AddOutputFilter INCLUDES .shtml
把#去掉

在找
options indexes followsymlinks 把它替换成下面的
options indexes followsymlinks includes   就是在后面多加了一个includes
在找,
<IfModule dir_module>
下面是首页默认的文件名
DirectoryIndex index.shtml index.php index.php3 index.html index.htm index.html.var
如果没有index.shtm 就插入插入index.shtml  要不然打开首页是空白的!
他要在index.php前面,要不然就进到index.php里面了

如果配置都没有问题,在使用上注意我说的问题,基本就ok了!

还有生成区块我还在测试,弄了半天就生成出来一个区块,其他的都没生成出来,正研究呢。弄明白再放贴!

好了,希望给有这问题的朋友帮上一点忙,知道一个问题要少犯一个错误,大家留心一下!
关键词:CmsTop

赞助商链接: