开发者社区> 问答> 正文

nginx下不能解析include包含的文件的方法

我的网站中有.shtml文件,需要包含一些.html文件,但是用redhat 一键安装web环境全攻略 安装后,不能直接解析出include的.html文件。查了一下资料是nginx设置中默认不支持SSI。

正确的方法是找到下面的文件

/alidata/server/nginx-1.0.4/conf/nginx.conf


http{
}中间添加下面几句话

    ssi on;
    ssi_silent_errors on;
    ssi_types text/shtml;

重启nginx,问题解决!

展开
收起
gyc666 2012-02-06 14:05:06 11145 0
1 条回答
写回答
取消 提交回答
  • 更多参考文档

    用nginx服务器,如何支持ssi包含文件。

    主要是三个参数,ssi,ssi_silent_errors和ssi_types,均可以放在http,server和location的作用域下。

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

    ssi_silent_errors on
    默认值是off,开启后在处理SSI文件出错时不输出错误提示:"[an error occurred while processing the directive] "

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

    SSI的格式:
    <!--#include file="bottom.htm"-->

    <!--#include virtual="/hx/bottom.htm"-->
    路径是相对server中root根目录。

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

    示例:

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

    2.开启html后缀的文件名支持ssi
    server{
        ......
        ssi on;
        ssi_silent_errors on;
    }

    3.在zt目录下开启html后缀的文件名支持ssi
    server{
        ......
        location /hx/{
            ssi on;
            ssi_silent_errors on;
        }
    }
    2012-02-06 14:06:42
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
ECS块存储产品全面解析 立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手 立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册 立即下载

相关镜像