前言

SSI是什么?

服务端嵌入(server side include),是一种基于服务器端的网页制作技术,可以将多个子页面合并渲染输出,大多数基于unix平台的web服务器均支持ssi指令,如nginx、apache。

ssi指令如下:

<!‐‐#include virtual="/../...html"‐‐>

Apache配置

加载SSI模块

找到Apache的安装路径,在Apache文件夹下找到conf文件夹,在该文件夹下有个文件httpd.conf,用编辑器打开它。找到这行:LoadModule ssl_module modules/mod_ssl.so,将前面的注释(#)去掉。

添加需要的文件类型

非所有文件中的SSI指令都会被解析,必须告诉Apache应该解析哪些文件。

在httpd.conf文件中找到以下代码:

AddType text/html .shtml  .html  .htm
AddOutputFilter INCLUDES .shtml  .html  .htm

添加INCLUDES

在httpd.conf文件中找到这一行(后面添加INCLUDES):

Options +Indexes +FollowSymLinks +ExecCGI  +INCLUDES  

重启Apache

Nginx配置

在Nginx文件夹下找到conf下的nginx.conf:

server{
listen 80;
server_name www.xuecheng.com;
ssi on;
ssi_silent_errors on;
...

ssi的配置参数如下:

ssi on: 开启ssi支持

ssi_silent_errors on:默认为off,设置为on则在处理SSI文件出错时不输出错误信息

ssi_types:默认为 ssi_types text/html,如果需要支持shtml(服务器执行脚本,类似于jsp)则需要设置为ssi_types text/shtml

重启Nginx

Q.E.D.