在nginx、apache、tomcat、iis中配置SSI

什么是SSI
SSI:Server Side Include,是一种基于服务端的网页制作技术,大多数(尤其是基于Unix平台)的web服务器如Netscape Enterprise Server等均支持SSI命令。
它的工作原因是:在页面内容发送到客户端之前,使用SSI指令将文本、图片或代码信息包含到网页中。对于在多个文件中重复出现内容,使用SSI是一种简便的方法,将内容存入一个包含文件中即可,不必将其输入所有文件。通过一个非常简单的语句即可调用包含文件,此语句指示 Web 服务器将内容插入适当网页。而且,使用包含文件时,对内容的所有更改只需在一个地方就能完成。
指令描述
SSI是被HTML文档内需要进行处理的包含部分的SSI Servlet调用的。这些指令是HTML文档的注释形式,这些指令在将内容发送到客户端之前进行内容的替换。标准格式如下:
这些指令包括:
config:设置日期格式一起被SSI处理的其他数据()
echo:将会被变量的值替换掉()
exec:用来执行服务器端的命令
include:包含某些内容()
flastmod:返回某个文件最后一次修改的时间( )
fsize:返回某个文件的大小()
printenv:返回所有定义的变量()
set:用来为定义的变量赋值()
if elif endif else:创建条件分支语句
nginx启用SSI
nginx的SSI配置选项主要是以下三个:
ssi: 默认值off,启用ssi时将其设为on
ssi_silent_errors: 默认值off,开启后在处理SSI文件出错时不输出错误提示”[an error occurred while processing the directive]”。
ssi_types: 默认是text/html,所以如果需支持html,则不需要设置这句,如果需要支持shtml则需要设置:ssi_types text/shtml

三个参数可以放在http, server或location作用域下。
#静态化站点映射 server { listen 80; server_name www.publiccms.com; index index.html; root /data/www/publiccms.com/static/; error_page 404 /404.html; #开启SSI服务器端包含 ssi on; ssi_silent_errors on; access_log /data/log/nginx/access/publiccms.com.log; }
apache上启用SSI
在apache配置文件(httpd.conf)中配置需要支持SSI的后缀(html)
去掉AddType text/html,AddOutputFilter INCLUDES前面注释
# Filters allow you to process content before it is sent to the client. # # To parse .shtml files for server-side includes (SSI): # (You will also need to add “Includes” to the “Options” directive.) # AddType text/html .html AddOutputFilter INCLUDES .html
查找Options Indexes FollowSymLinks在后面加上Includes

Options Indexes FollowSymLinks Includes
tomcat启用SSI
修改conf/web.xml,取消SSI Servlet的配置注释

在工程目录添加SSI Servlet Mapping
ssi static/*
修改conf/context.xml,增加privileged=”true”
IIS启用SSI
修改IIS设置,将在服务器端的包含文件修改为允许
在nginx、apache、tomcat、iis中配置SSI
图片描述

ISAPI_Rewrite 是一款适用于IIS的功能强大的基于正则表达式的URL处理模块。它兼容Apache的mod_rewrite的语法,从而使仅仅复制.htaccess文件就把配置从appach移植到IIS或者从IIS移值到appach变成可能。请参阅3.2兼容性图表这一节。 运行IIS服务器SSI(rewrite重写)插件,可在windows的IIS服务器上通过“httpd.conf”文件或将指令“Options +Includes”以ASCII编码写入“.htaccess”格式的文件来开启SSI (Server Side Includes)。 任何路径都可以包含在“.htaccess”格式的文件(使用“.htaccess”格式的文件会降低服务器速度)。 本资料主要提供完整帮助文件(全英文的chm文件,Release 3.1.0.109)、方便查阅的参考说明(文)、软件作者网站(全英文)及相关的参考资料,不含插件本身。该软件的精简版(Lite version)免费使用、有部分限制,可以从作者网站免费下载(Freeware字样的是免费版),完整版是收费的。 安装好后记得给ISAPI_Rewrite软件安装目录network service的读权限。 参考说明目录 [转载]ISAPI_REWRITE3.1教程文版 1 软件介绍 1 2.1系统要求 2 2.2安装程序 2 2.3手工安装 3 2.4反安装 4 2.5运行ISAPI_REWRITE所需的权限 5 2.6 MSI的自定义行为 6 3.1基本概念 11 3.2和APACHE下MOD_REWRITE的兼容性 13 这里有一个完整的ISAPI_Rewrite和mod_rewrite兼容性图表。标记为绿色的功能或指令是充分支持的,黄色的功能是部分支持或计划在下一版本支持,标示为红色的功能是不支持的。 13 3.3使用环境以及处理顺序 16 字面值 17 通配符 18 重复 18 懒惰型重复 18 插入成份 19 无标记插入 19 N择1标记 19 预置符 19 字符类 20 正则表达式 21 集合元素 21 等价类 21 行锚 22 回溯引用 22 向前查找 23 通配符 23 转义字符 23 单个字符转义序列 23 杂项转义序列 24 怎样得到匹配 24 对“病态”正则表达式的特别提示: 25 4.1ACCESSFILENAME指令 25 4.2ALLOWOVERRIDE指令 26 4.3REWRITEENGINE ON|OFF 26 REWRITEENGINE DIRECTIVE 26 4.4REWRITERULE指令 27 4.5REWRITECOND指令 32 4.6REWRITEBASE指令 34 4.7REWRITEPROXY指令 35 4.8REWRITEHEADER指令 36 4.9REWRITEMAP指令 36 4.10REWRITELOG指令 38 4.11REWRITELOGLEVEL指令 39 4.12REWRITEOPTIONS指令 39 4.13REWRITECOMPATIBILITY2指令 39 4.14ERRORLOG指令 40 4.15LOGLEVEL指令 40 4.16<VIRTUALHOST>指令 41 4.17<DIRECTORY>指令 41 4.18<DIRECTORYMATCH>指令 42 4.19<FILES> 指令 43 4.20<FILESMATCH>指令 44 4.21<LOCATION>指令 44 4.22<LOCATIONMATCH>指令 45 示例&注意: 46 简单的搜索引擎友好的网址 46 富关键词URLS 47 使用IIS作为反向代理 48 藏匿文件扩展名: 49 仿真基于主机头的虚拟网站 49 阻断内联图像(阻止盗链) 50 重定向非WWW的版本到WWW 51 强制SSL或者非SSL到一个指定的位置 51 转移站点位置 52 平衡负荷仿真 52 故障处理 53 精简版的限制 55 使用和传播许可 56 [转载]ISAPI_Rewrite3.1教程文版 软件介绍 ISAPI_Rewrite 是一款适用于IIS的功能强大的基于正则表达式的URL处理模块。它兼容Apache的mod_rewrite的语法,从而使仅仅复制.htaccess文件就把配置从appach移植到IIS或者从IIS移值到appach变成可能。请参阅3.2兼容性图表这一节。 ISAPI_Rewrite最重要的功能: ? ISAPI_Rewrite提供了和Apach mod_rewrite相同的句法和行为,使仅仅拷贝.htaccess文件就完成配置移植成为功能。(要想阅读更多关于与mod_rewrite的兼容性,请参阅3.2兼容性图表这一节。) ? 正则表达式支持灵活而强大的配置。 ? 极速而且容易升级的纯C++代码。 ? 真正的分布式配置:实时监控服务器全局级别、虚拟主机(网站)级别、目录级别的.htaccess文件。 ? 隔离性:用户级配置只影响本地用户环境,从而使ISAPI_Rewrite成为Web主机提供商的理想解决方案。 重要的应用示例: ? 搜索引擎优化。 ? 一台Web服务器的代理内容经过另一台web服务器。 ? 防止内容被吸血(盗链)。 ? 阻断特定主机、反向链接或者烦人的搜索机器人。 ? 内容商议:向不同的语言用户或者不同的浏览器用户提供不同的文件。示例 ? 为群集式服务器架构模拟负载均衡。 定价资料 ? 45天的试用期 ? 单机版99美元 ? ISAPI_Rewrite精简版是免费的。在这里可以看到受限的细节说明。 ? 大宗采购可议折扣。 2.1系统要求 ISAPI_Rewrite可以被安装在下列操作系统: ? Windows 2000 with IIS 5 ? Windows XP with IIS 5.1 ? Windows Server 2003 with IIS 6.0 ? Windows Vista with IIS 7.0 ? Windows Server 2008 with IIS 7.0 在安装ISAPI_Rewrite之前,操作系统必须先安装IIS。 32位和64位的Windows版本都是支持的,但是你必须下载32位版和64位版两种不同的安装包。Windows Installer 2.0必须运行安装程序。你可以从微软的网站上下载到最新版本的Windows Installer。 在Windows Vista和Windows Server 2008上安装ISAPI_Rewrite,还必须先安装下面两个模块(默认情况下这两个模块是不安装的) ? ISAPI过滤器 ? ISAPI 扩展 2.2安装程序 在运行安装包之前请先阅读系统要求部分。下载并安装某个版本的ISAPI_Rewrite.msi,依照安装向导的说明操作。安装过程是自动的,并有自我描述。ISAPI_Rewrite在自动安装过程必须重启IIS。下列服务必须被重启:IISADMIN、W3SVC。不需要手工把任何ISAPI筛选器或者扩展加入到网站或者全局列表。它能够在安装和配置过程自动完成。 命令行安装 ISAPI_Rewrite也能够通过命令行进行后台安装。请使用以下命令行语法来安装: msiexec /i ISAPI_Rewrite3.msi /qn AcceptEULA=Yes REGISTRATIONCODE=Code REGISTRATIONNAME=Name 用命令行来后台反安装ISAPI_Rewrite请使用下面的语法: msiexec /x ISAPI_Rewrite3.msi /qn KEEPUSERFILES=Yes ...... 对“病态”正则表达式的特别提示: ISAPI_Rewrite 使用了一个非常强大的来自Boost库的正则表达式引擎。但是它依然有一些局限性:有着一些“病态”的表达式,它可能会指数级地消耗匹配时间。这些都涉及到嵌套重复运算符,例如试图对N个连续字母a匹配表达式“(a*a)*b”,消耗的时间将与N2成正比。这些表达式常常能改成另一种写法来避免这种问题。例如,“(a*a)*b”可以被改写成“a*b”,解析它消耗的时间与N成正比。在多数情况下,非嵌套重复表达式消耗的时间与N2成正比,但是,如果条款是相互排斥的,则它们会在线性时间里完成匹配。在“a*b”这种情况下,每个字符将要么匹配a要么匹配b或者不匹配。相较之下,“a*a”匹配器不能告知哪个分支被采取(第一个 a还是第二个a)因此必须尝试两种。 Regex可以检测出这种“病态”的正则表达式并终止和它们的匹配。这将使ISAPI_Rewrite的规则失效。当一个规则失效时,ISAPI_Rewrite将给客户端发送一个"Internal Server error - Rule Failed"的状态,以表示配置错误。 ...... 精简版的限制 ISAPI_Rewrite的精简版拥有相同的引擎和重写功能。但是也有下面这些限制: ? 不支持分布式.htaccess配置、目录以及网站级配置,只有一个精简版安装目录的全局的httpd.conf配置能被载入。 ? 不支持<VirtualHost>、<Directory>、<DirectoryMatch>、<Files>、<FilesMatch>、<Location> 以及<LocationMatch>这几个标签。 ? 精简版没有代理服务模块,因而所有的和代理服务功能相关的比如说RewriteProxy指令以及[P]标记都会被忽略。 ? 精简版没有针对于虚拟主机环境的手工安装包 ISAPI_Rewrite精简版完全免费,它对开发或者测试目的以及只有几个网站而且不需要分布式配置或者代理功能的小型服务器来说是一个很好的解决方案 ......
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值