前言
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.