什么是SSI? SSI:Server Side Include,是一种基于服务端的网页制作技术,大多数(尤其是基于Unix平台)的web服务器如Netscape Enterprise Server等均支持SSI命令。 它的工作原因是:在页面内容发送到客户端之前,使用SSI指令将文本、图片或代码信息包含到网页中。对于在多个文件中重复出现内容,使用SSI是一种简便的方法,将内容存入一个包含文件中即可,不必将其输入所有文件。通过一个非常简单的语句即可调用包含文件,此语句指示 Web 服务器将内容插入适当网页。而且,使用包含文件时,对内容的所有更改只需在一个地方就能完成。 帝国cms系统需要SSI吗?
帝国的模板变量,实现里网页的模块化,但是如果是静态网站,局部更新后,全站刷新仍然是个麻烦的事情。所以SSI还是有必要的,尤其是内容信息几十万几百万的情况下。
如何使用? 在宝塔的网站管理里,设置: server
{
listen 80;
server_name www.zhongyf.com zhongyf.com;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/zhongyf1;
ssi on;
ssi_silent_errors on;
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
#SSL-END
#ERROR-PAGE-START 错误页配置,可以注释、删除或修改
error_page 404 /404.html;
error_page 502 /502.html;
#ERROR-PAGE-END
#PHP-INFO-START PHP引用配置,可以注释或修改
include enable-php-56.conf;
#PHP-INFO-END
#REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
include /www/server/panel/vhost/rewrite/bd.zhongyf.com.conf;
#REWRITE-END
#禁止访问的文件或目录
location ~ ^/(.user.ini|.htaccess|.git|.svn|.project|LICENSE|README.md)
{
return 404;
}
#一键申请SSL证书验证目录相关设置
location ~ .well-known{
allow all;
}
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
error_log off;
access_log off;
}
location ~ .*.(js|css)?$
{
expires 12h;
error_log off;
access_log off;
}
access_log /www/wwwlogs/bd.zhongyf.com.log;
error_log /www/wwwlogs/bd.zhongyf.com.error.log;
}
看到吧? 关键是插入了 ssi on;
ssi_silent_errors on; 用帝国的自定义页面生成标签的html文件
比如有标签 :[!--temp.header--],可以自定也一个页面,地址为/d/ssi/header.html 内容为:[!--temp.header--] 就生成了这个标签对应的html文件。
然后,在列表或者内容模板里,这样调用它: <!--#include file="/d/ssi/header.html"-->
|