伺服器端內嵌(Server Side Includes,亦簡稱為SSI)是一種大多數僅套用於網際網路上的簡單解釋性伺服器端腳本語言。
基本介紹
- 中文名:伺服器端內嵌
- 外文名:Server Side Includes
- 簡稱:SSI
- 領域:計算機
簡介
<!--#include virtual="../quote.txt" -->
指令
最常用的指令集
指令 | 參數 | 描述 | 舉例 |
---|---|---|---|
include | file或virtual | <!--#include virtual="menu.cgi" --> 或 <!--#include file="footer.html" -->Apache的SSI教程規定格式為在閉合元素的“-->”之前留出空格。 | |
exec | cgi或cmd | 此指令運行伺服器上的程式、腳本亦或是Shell命令。“cmd”參數特指服務端的命令;“cgi”參數特指CGI腳本的路徑。當前SSI腳本的PATH_INFO和QUERY_STRING均會傳遞到CGI腳本中,結果應運行“exec cgi”而非“include virtual”。 | <!--#exec cgi="/cgi-bin/foo.cgi" --> 或 <!--#exec cmd="ls -l" --> |
echo | var | <!--#echo var="REMOTE_ADDR" --> | |
config | timefmt、sizefmt或errmsg | 此指令配置日期、時間、檔案大小和錯誤信息(SSI命令執行失敗的時候反饋)的顯示格式。 | <!--#config timefmt="%y %m %d" --> 或 <!--#config sizefmt="bytes" --> 或 <!--#config errmsg="SSI命令運行失敗!" --> |
flastmod或fsize | file或virtual | 這些指令顯示特定文檔最近一次被修改的時間,或者是特定文檔的大小。“file”或“virtual”參數指明所使用的文檔。“file”參數將文檔定義為相對於文檔路徑;“virtual”參數將文檔定義為相對於文檔根目錄。 | <!--#flastmod virtual="index.html" --> 或 <!--#fsize file="script.pl" --> |
printenv | 此指令輸出所有的變數和它們的值,這些變數包含環境變數和用戶定義變數。它沒有任何屬性。 | <!--#printenv --> |
控制指令
指令 | 參數 | 描述 | 舉例 |
---|---|---|---|
if | expr | 用於進行一個物理頁面可能會生成的多個邏輯頁面的條件測試。 | <!--#if expr="${Sec_Nav}" --> <!--#include virtual="" --> <!--#endif --> |
elif | expr | 與程式語言中的進一步條件測試具有相同用途。 | <!--#if expr="${Sec_Nav}" --> <!--#include virtual="secondary_nav.txt" --> <!--#elif expr="${Pri_Nav}" --> <!--#include virtual="primary_nav.txt" --> <!--#endif --> |
else | 如果沒有if和elif指令捕捉到現在的情況,這裡的事情就會發生。 | <!--#if expr="${Sec_Nav}" --> <!--#include virtual="secondary_nav.txt" --> <!--#else --> <!--#include virtual="article.txt" --> <!--#endif --> | |
endif | 參見上方例子。 | ||
set | var、value | 設定SSI變數的值。(雖然同時出現在Apache httpd和lighttpd中,但不是所有的軟體都支持此指令。) | <!--#set var="foo" value="bar" --> |
網頁伺服器
- 一個提供網頁的伺服器程式。