在向客户端浏览器发送网页之前,可以使用“服务器端包含 (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 指令。
详细信息,请参阅“服务器端包含”参考。