1、Config 指令
Config 指令主要用於修改SSI的預設設定。其中:
Errmsg:設定預設錯誤訊息。為了能夠正常的回傳使用者設定的錯誤訊息,在HTML檔案中Errmsg參數必須被放置在其它SSI指令的前面,否則客戶端只能顯示預設的錯誤訊息,而不是由使用者設定的自訂訊息。
# Timefmt:定義日期和時間的使用格式。 Timefmt參數必須在echo指令之前使用。
顯示結果為:
Wednesday, April 12, 2000
也許使用者對上例所使用的%A %B %d感到很陌生,以下我們就以表格的形式總結一下SSI中較為常用的一些日期和時間格式。
Sizefmt:決定檔案大小是以位元組、千位元組或兆位元組為單位表示。如果以位元組為單位,參數值為"bytes";對於千位元組和兆位元組可以使用縮寫形式。同樣,sizefmt參數必須放在fsize指令的前面才能使用。
#
# 2、Include 指令
Include 指令可以把其它文件中的文字或圖片插入到目前被解析的文件中,這是整個SSI的關鍵所在。透過Include指令只需要改動一個檔案就可以瞬間更新整個網站!
Include 指令有兩個不同的參數:
#
Virtual:給出到伺服器端某個文件的虛擬路徑。
File:給出到目前目錄的相對路徑,其中不能使用"../",也不能使用絕對路徑。
這就要求每個目錄中都包含一個header.html檔案。
3、Echo 指令
Echo 指令可以顯示下列各環境變數:
#
DOCUMENT_NAME:顯示目前文件的名稱。
DOCUMENT_URI:顯示目前文件的虛擬路徑。例如:
隨著網站的不斷發展,那些越來越長的URL地址肯定會讓人頭痛。如果使用SSI,一切就會迎刃而解。因為我們可以把網站的網域和SSI指令結合在一起顯示完整的URL,也就是:
http://YourDomain
QUERY_STRING_UNESCAPED:顯示未經轉義處理的由客戶端發送的查詢字串,其中所有的特殊字元前面都有轉義符"\"。例如:
# DATE_LOCAL:顯示伺服器設定時區的日期和時間。使用者可以結合config指令的timefmt參數,客製化輸出資訊。例如:
顯示結果為:
Saturday, the 15 of April, in the year 2000
DATE_GMT:功能與DATE_LOCAL一樣,只不過回傳的是以格林尼治標準時間為基準的日期。例如:
LAST_MODIFIED:顯示目前文件的最後更新時間。同樣,這是SSI中非常實用的功能,只要在HTML文件中加入以下這行簡單的文字,就可以在頁面上動態的顯示更新時間。
CGI環境變數
除了SSI環境變數之外,echo指令還可以顯示以下CGI環境變數:
SERVER_SOFTWARE:顯示伺服器軟體的名稱和版本。例如:
SERVER_NAME: 顯示伺服器的主機名稱,DNS別名或IP位址。例如:
#
SERVER_PROTOCOL:顯示客戶端要求所使用的協定名稱和版本,如HTTP/1.0。例如:
SERVER_PORT:顯示伺服器的回應連接埠。例如:
#
REQUEST_METHOD:顯示客戶端的文件請求方法,包括GET, HEAD, 和POST。例如:
REMOTE_HOST:顯示發出要求資訊的用戶端主機名稱。
REMOTE_ADDR:顯示發出請求訊息的客戶端IP位址。
AUTH_TYPE:顯示使用者身分的驗證方法。
REMOTE_USER:顯示存取受保護頁面的使用者所使用的帳號名稱。
4、Fsize:顯示指定檔案的大小,可以結合config指令的sizefmt參數自訂輸出格式。
5、Flastmod:顯示指定檔案的最後修改日期,可以結合config 指令的timefmt參數控制輸出格式。
這裡,我們可以利用flastmod參數顯示出一個頁面上所有連結頁面的更新日期。方法如下:
顯示結果為:
File April 19, 2000
Another File January 08, 2000
6、Exec
Exec指令可以執行CGI腳本或shell指令。使用方法如下:
Cmd:使用/bin/sh執行指定的字串。如果SSI使用了IncludesNOEXEC選項,則該指令將被封鎖。
Cgi:可以用來執行CGI腳本。例如,下面這個範例中使用服務端cgi-bin目錄下的counter.pl腳本程式在每個頁面放置一個計數器:
# 讓我們先來看看SHTML和HTML的差別,如果用一句話來解釋就是:SHTML 不是HTML而是一種伺服器 API,shtml是伺服器動態產成的html.
雖然兩者都是超文本格式,但shtml是一種用於SSI技術的文件。也就是Server Side Include--SSI 伺服器端包含指令。如果Web Server有SSI功能的話,大多數(尤其是基於Unix平台)的WEB伺服器,如Netscape Enterprise Server等都支援SSI指令。
以上是STHML 教程(4)的詳細內容。更多資訊請關注PHP中文網其他相關文章!