Windows Azure 网站 (WAWS) 中的服务器端包含 (SSI)

编辑人员注释: 本文章由 Windows Azure 网站团队的项目经理 Erez Benari 撰写。

Windows Azure 网站客户普遍关心的一个问题是关于我们对服务器端包含 (Server Side Includes, SSI) 的支持,以及服务器端包含是否可以与不同的扩展名(例如 .htm)正常协同工作。直到几个月前这项功能还没有推出,正如您在浏览我们的支持论坛时可能已经意识到的那样。不过,现在这一切已经改观,ServerSideIncludeModule 已添加到 Windows Azure 网站,并且完全受支持。

服务器端包含是将一个文件的内容嵌入另一个文件的简单方法,在 Web 应用程序中很常用。SSI 有时只是一个嵌入了其他页面的内容的页面,但更多时候,它将用于构建模块化的 Web 应用程序,在这个应用程序中,包含一些代码的文件可能会由其他多个文件调用。例如,下面这段来自某未命名 Web 应用程序的代码片段使用了多个 include 语句:

默认情况下,Windows Azure 网站上的 SSI 配置为仅适用于 *.stm *.shtm*.shtml 文件扩展名,但有时,人们可能需要将其扩展到其他文件扩展名。当然,这没有对错之分 - 关键在于 Web 应用程序的设计方式,如果您需要迁移使用其他扩展名构建的应用程序,则需要在 WAWS 中扩展默认配置以提供支持。

添加其他扩展名非常简单。只需为您的站点创建一个小的 Web.Config 文件即可。此配置描述 SSI 模块处理程序的添加,格式如下所示。此示例显示了添加支持以包含 .htm 文件:

注意:如果目前您的网站中还没有 web.config 文件,则只需将上述所有内容复制到一个文本文件,将其另存为 web.config,然后使用 WebMatrix 或通过 FTP 上传到网站即可。如果您已有一个 web.config 文件,则可以在 system.webServer 部分中添加 <handlers> 部分;如果您没有此文件,则可以在配置部分添加整个 <system.webserver> 部分。

如果您有兴趣了解关于 SSI 的更多信息,可以在此处找到详细指南。

博客作者:Cristhian UribeErez Benari

 

本文翻译自:

https://blogs.msdn.com/b/windowsazure/archive/2014/03/26/server-side-includes-ssi-in-windows-azure-web-sites-waws.aspx