# 使用“服务器端包含”指令

在向客户端浏览器发送网页之前，可以使用“服务器端包含 (SSI)”指令指示 Web 服务器将文本、图形或应用程序信息添加到网页中。SSI 提供了一些特殊处理指令，可以帮助获得与文件有关的信息或显示 CGI 变量的值。SSI 还提供了一个可以将应用程序或 shell 命令的输出插入网页的指令。

要点

#include 语句是在编译时而不是在运行时处理的，因此不能将此语句包含在客户端过程的逻辑中。

## 包含文件

可以使用 #include 命令包含文件。例如，要在请求网页时将名为 Copyright.inc 的文件插入网页中，请在网页中使用下列命令：

    <!-- #include file="Copyright.inc" -->

在此示例中，Copyright.inc 文件必须与包含文件处于同一目录中。包含 #include 指令的文件必须是网站中的已发布文件。被包含文件不需要特殊的文件扩展名，但是一般认为，在编程时最好为所包含文件加上 .inc 扩展名，以与其他类型的文件区分开。

若要通过指定相对于当前目录的路径来查找包含文件，请使用 file 参数。例如，如果调用文件位于目录 Documents 中，而包含文件位于 Documents\Common 子目录中，请使用下列指令：

    <!-- #include file="Common\Copyright.inc" -->

处理网站中的文档时，可能要将共享文件保存在特殊的虚拟目录中。若要通过指定文件的完整虚拟路径来定位包含文件，请使用 virtual 参数。例如，若要包含 /Common 虚拟目录中的文件，请使用下列指令：

    <!-- #include virtual="/Common/Copyright.inc" -->

## 包含应用程序的输出

除了包含文件内容外，还可以使用 SSI 指令运行应用程序或 shell 命令,并将输出结果包含到网页中。要运行应用程序或 shell 命令，请使用 #exec 指令。应用程序可以是 CGI 程序、ASP 应用程序或 ISAPI 扩展。例如：

    <!-- #exec cgi=/scripts/guestbook.exe?FirstName+LastName>

应用程序的路径必须是完整虚拟路径或 URL。可以通过在应用程序文件名后跟随问号 (?) 和加号 (+) 连接的参数列表，将参数传递给应用程序。

要点 允许普通 Web 文件运行应用程序是不安全的。可以禁用 #exec 指令，但仍然允许网页使用其他 SSI 指令。

详细信息，请参阅“服务器端包含”参考。

© 1997-2001 Microsoft Corporation. 保留所有权利。