不懂博客—所知甚少因而建立此博客记录不懂知识;学习、关注、体验互联网。

Nginx服务器配置支持ssi包含文件及动态包含

来源:网络 作者:秩名 时间:2011-02-08 【 打印

SSI (Server Side Includes) 可以实现多页面静态内容的局部整体更新,Nginx的HttpSsiModule模块提供SSI支持,普通应用主要有三个参数:

ssi

ssi_silent_errors

ssi_types

这三个参数均可以放在http,server或location的作用域里面。

ssi on
开启ssi支持,默认是off

ssi_silent_errors on
默认值是off,开启后 当被include的文件不存在或者处理SSI文件出错时不输出"[an error occurred while processing the directive]"的错误提示。


ssi_types
默认是ssi_types text/html,如果需要htm和html支持,则不需要设置这句,如果需要shtml支持,则需要设置:ssi_types text/shtml

代码里面ssi的引用文件的方式:
<!--#include file="fcbu_com.html"-->
或用虚拟路径的方式:
<!--#include virtual="/test/fcbu_com.html"-->
路径是相对server中root根目录。

实例:

开启shtml后缀的文件名支持ssi
server{
    ssi on;
    ssi_silent_errors on;
    ssi_types text/shtml;
}

开启html后缀的文件名支持ssi

server{
    ssi on;
    ssi_silent_errors on;
}

只在fcbu_com目录下开启shtml后缀的文件名支持ssi
server{
    location /fcbu_com/{
        ssi on;
        ssi_types text/shtml;
        ssi_silent_errors on;
    }
}

动态内容包含


在HTML页面中可以通过以下命令包含另一个包含动态内容的页面:
<!--# include virtual="/test.php" >

如果需要将参数传递给动态页面,引用nginx的环境变量,如:
<!--# include virtual="/test2.php?$QUERY_STRING" >

假如包含以上代码的页面是index.shtml, 当访问http://www.fcbu.com/index.shtml?category=5&page=3, 则包含的页面相当于/test2.php?category=5&page=3.

更多说明可以请参见官方文档:http://wiki.nginx.org/NginxChsHttpSsiModule

分类目录: | 标签:nginx linux ssi
批量查询4位未注册域名并保存为文本的shell脚本
linux下su与su - 切换到root权限命令的区别