shtml是一種用於ssi技術的檔案。 也就是server side include--ssi 伺服器端包含指令。 一些web server有ssi功能的話。 會對shtml檔案特殊招待。 先掃一次shtml檔案看沒有特殊的ssi指令存在。 有就按web server設定規則解釋ssi指令。 解釋完後跟一般html一起調去客戶端。
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:顯示當前文件的名稱。
顯示結果為:
index.html
document_uri:顯示當前文件的虛擬路徑。例如:
顯示結果為:
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_protocol:顯示客戶端請求所使用的協議名稱和版本,如http/1.0。例如:
server_port:顯示伺服器的響應埠。例如:
request_method:顯示客戶端的文件請求方法,包括get, head, 和post。例如:
remote_host:顯示發出請求資訊的客戶端主機名稱。
auth_type:顯示使用者身份的驗證方法。
remote_user:顯示訪問受保護頁面的使用者所使用的帳號名稱。
4、fsize:顯示指定檔案的大小,可以結合config命令的sizefmt引數定製輸出格式。
5、flastmod:顯示指定檔案的最後修改日期,可以結合config 命令的timefmt引數控制輸出格式。
file
another file
顯示結果為:
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指令碼程式在每個頁面放置乙個計數器:
SSI使用詳解
1 config命令 config命令主要用於修改ssi的預設設定。其中 errmsg 設定預設錯誤資訊。為了能夠正常的返回使用者設定的錯誤資訊,在html檔案中errmsg引數必須被放置在其它ssi命令的前面,否則客戶端只能顯示預設的錯誤資訊,而不是由使用者設定的自定義資訊。timefmt 定義日...
SSI使用詳解
什麼是ssi?ssi是英文server side includes的縮寫,翻譯成中文就是伺服器端包含的意思。從技術角度上說,ssi就是html檔案中,可以通過注釋行呼叫的命令或指標。ssi 具有強大的功能,只要使用一條簡單的ssi 命令就可以實現整個 的內容更新,動態顯示時間和日期,以及執行shel...
開啟SSI使Apache支援shtml網頁檔案
要實現apache支援shtml偽靜態則需要開啟ssi並可支援用shtml來include網頁檔案 1 開conf目錄下的httpd.conf檔案,搜尋 addtype text html shtml 找到 addtype text html shtml addoutputfilter includ...