apache和nginx支持SSI配置

一. 前言

SSI是一种类似于ASP的基于服务器的网页制作技术。将内容发送到浏览器之前,可以使用“服务器端包含 (SSI)”指令将文本、图形或应用程序信息包含到网页中。例如,可以使用 SSI 包含时间/日期戳、版权声明或供客户填写并返回的表单。对于在多个文件中重复出现的文本或图形,使用包含文件是一种简便的方法。将内容存入一个包含文件中即可,而不必将内容输入所有文件。通过一个非常简单的语句即可调用包含文件,此语句指示 Web 服务器将内容插入适当网页。而且,使用包含文件时,对内容的所有更改只需在一个地方就能完成。 因为包含 SSI 指令的文件要求特殊处理,所以必须为所有 SSI 文件赋予 SSI文件扩展名。默认扩展名是 .stm、.shtm 和 .shtml

二. apache配置

apache默认不支持ssi的,可以在apache下做如下设置: 修改Apache配置文件httpd.conf 1. 确认加载include.so模块,将注释去掉:

LoadModule include_module libexec/apache2/mod_include.so

2. AddType部分去掉这两段注释:

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

3. Directory目录权限里面找到

Options Indexes FollowSymLinks
增加Includes修改为:
Options Indexes FollowSymLinks Includes

4. 重新启动Apache

三. nginx配置

1. 相关指令说明: ssi 语法:ssi [ on | off ] 默认值:ssi off 配置段段:http, server, location, if 启用SSI处理。 [warning]注意如果启用SSI,那么Last-Modified头和Content-Length头不会传递。[/warning]

ssi_silent_errors 语法:ssi_silent_errors [on|off] 默认值:ssi_silent_errors off 配置段:http, server, location 如果在处理SSI的过程中出现“[an error occurred while processing the directive]”错误,禁止将其输出。

ssi_types 语法:ssi_types mime-type [mime-type …] 默认值:ssi_types text/html 配置段:http, server, location 默认只解析text/html类型,这个参数可以指定其他的MIME类型。

ssi_value_length 语法:ssi_value_length length 默认值:ssi_value_length 256 配置段:http, server, location 定义允许SSI使用的参数值的长度。

2. 在nginx下做如下设置:

时间: 2024-08-04 18:17:13

apache和nginx支持SSI配置的相关文章

nginx支持ssi使用../

让nginx支持ssi,只需要在http段里增加 ssi on; ssi_types text/shtml; 或者在需要支持的虚拟主机配置里增加也可以.server段里. 但是相对apache来说,nginx更加严格,对于include virtual=../../ 这样的使用方法是不支持的,会在error日志中报错"unsafe URI".那么nginx就不能做到这一点了吗? 打开nginx的ssi源码src/http/modules/ngx_http_ssi_filter_modu

CentOS 6.5 Nginx 的编译安装、以及让nginx 支持 SSI 相对路径写法

1. nginx 下载 进入 http://nginx.org/en/download.html 下载,我是选择的 "Stable version" 稳定版本的下载 # wget http://nginx.org/download/nginx-1.6.2.tar.gz 2. 解压编译安装 # tar -zxvf nginx-1.6.2.tar.gz # cd nginx-1.6.2 安装一些nginx用到的依赖软件,如果不开启ssl可以不用安装openssl,回头用到时可以返回这里重新

让服务器apache/iis/nginx支持.apk/ipa文件下载

服务器iis支持.apk文件下载的设置 IIS服务器不能下载.apk文件的原因:iis的默认MIME类型中没有.apk文件,所以无法下载. IIS服务器不能下载.apk文件的解决办法:既然.apk无法下载是因为没有MIME,那么添加一个MIME类型就可以了. IIS服务器不能下载.apk文件的解决步骤: 打开IIS服务管理器,找到服务器,右键-属性,打开IIS服务属性:单击MIME类型下的“MIME类型”按钮,打开MIME类型设置窗口:单击“新建”,建立新的MIME类型:扩展名中填写“.apk”

Last-Modified和ETag以及Apache和Nginx中的配置

1) 什么是”Last-Modified”? 在浏览器第一次请求某一个URL时,服务器端的返回状态会是200,内容是你请求的资源,同时有一个Last-Modified的属性标记此文件在服务期端最后被修改的时间,格式类似这样: Last-Modified: Fri, 12 May 2006 18:53:33 GMT 客户端第二次请求此URL时,根据 HTTP 协议的规定,浏览器会向服务器传送 If-Modified-Since 报头,询问该时间之后文件是否有被修改过: If-Modified-Si

让Apache 和nginx支持跨域訪问

1,怎样让Apache支持跨域訪问呢? 步骤: 改动httpd.conf,windows中相应的文件夹是:C:\wamp\bin\apache\Apache2.4.4\conf\httpd.conf 把LoadModule headers_module modules/mod_headers.so 前面的凝视删除 改动 改为: 即: <Directory /> AllowOverride none Require all granted Header set Access-Control-Al

让Apache 和nginx支持跨域访问

1,如何让Apache支持跨域访问呢? 步骤: 修改httpd.conf,windows中对应的目录是:C:\wamp\bin\apache\Apache2.4.4\conf\httpd.conf 把LoadModule headers_module modules/mod_headers.so 前面的注释删除 修改 改为: 即: <Directory /> AllowOverride none Require all granted Header set Access-Control-All

Apache 和nginx支持跨域访问

1,如何让Apache支持跨域访问呢? 步骤: 修改httpd.conf,windows中对应的目录是:C:\wamp\bin\apache\Apache2.4.4\conf\httpd.conf 把LoadModule headers_module modules/mod_headers.so 前面的注释删除 修改  改为:  即: <Directory />    AllowOverride none    Require all granted    Header set Access-

Apache、NGINX支持中文URL

Apache(32位):安装环境:CentOS 5.6 + Apache 2.2.15安装结果:安装后支持“中文图片.文件名”链接直接打开以下为安装过程:1.下载安装包 wget ftp://ftp.aconus.com/fc5/mod_encoding/mod_encoding-2.2.0-1.i386.tar.gz 2.直接解压 tar zxvf mod_encoding-2.2.0-1.i386.tar.gz 看到2个rpm安装包,进行安装 rpm -ivh iconv_hook-1.0.

让Apache和Nginx支持php文件解析

Apache 对于Apache,首先是apache的安装,可以参考下面这篇博客:编译安装Apache 编辑apache配置文件,取消下面这两行的注释(删除前面的#): #LoadModule proxy_module modules/mod_proxy.so #LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so 然后在配置文件最后加上这么一段: <FilesMatch \.php$> SetHandler "proxy:fcg